Skip to content

模型

本页描述了如何配置代理使用的聊天模型。

工具调用支持

要启用工具调用代理,底层的LLM必须支持工具调用

兼容的模型可以在LangChain 集成目录中找到。

通过名称指定模型

你可以使用模型名称字符串来配置一个代理:

import os
from langgraph.prebuilt import create_react_agent

os.environ["OPENAI_API_KEY"] = "sk-..."

agent = create_react_agent(
    model="openai:gpt-4.1",
    # other parameters
)
import os
from langgraph.prebuilt import create_react_agent

os.environ["ANTHROPIC_API_KEY"] = "sk-..."

agent = create_react_agent(
    model="anthropic:claude-3-7-sonnet-latest",
    # other parameters
)
import os
from langgraph.prebuilt import create_react_agent

os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "..."
os.environ["OPENAI_API_VERSION"] = "2025-03-01-preview"

agent = create_react_agent(
    model="azure_openai:gpt-4.1",
    # other parameters
)
import os
from langgraph.prebuilt import create_react_agent

os.environ["GOOGLE_API_KEY"] = "..."

agent = create_react_agent(
    model="google_genai:gemini-2.0-flash",
    # other parameters
)
from langgraph.prebuilt import create_react_agent

# 按照此处的步骤配置你的凭证:
# https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html

agent = create_react_agent(
    model="bedrock_converse:anthropic.claude-3-5-sonnet-20240620-v1:0",
    # other parameters
)

使用 init_chat_model

init_chat_model 工具通过可配置的参数简化了模型初始化:

pip install -U "langchain[openai]"
import os
from langchain.chat_models import init_chat_model

os.environ["OPENAI_API_KEY"] = "sk-..."

model = init_chat_model(
    "openai:gpt-4.1",
    temperature=0,
    # 其他参数
)

pip install -U "langchain[anthropic]"
import os
from langchain.chat_models import init_chat_model

os.environ["ANTHROPIC_API_KEY"] = "sk-..."

model = init_chat_model(
    "anthropic:claude-3-5-sonnet-latest",
    temperature=0,
    # 其他参数
)

pip install -U "langchain[openai]"
import os
from langchain.chat_models import init_chat_model

os.environ["AZURE_OPENAI_API_KEY"] = "..."
os.environ["AZURE_OPENAI_ENDPOINT"] = "..."
os.environ["OPENAI_API_VERSION"] = "2025-03-01-preview"

model = init_chat_model(
    "azure_openai:gpt-4.1",
    azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
    temperature=0,
    # 其他参数
)

pip install -U "langchain[google-genai]"
import os
from langchain.chat_models import init_chat_model

os.environ["GOOGLE_API_KEY"] = "..."

model = init_chat_model(
    "google_genai:gemini-2.0-flash",
    temperature=0,
    # 其他参数
)

pip install -U "langchain[aws]"
from langchain.chat_models import init_chat_model

# 请按照以下步骤配置您的凭证:
# https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html

model = init_chat_model(
    "anthropic.claude-3-5-sonnet-20240620-v1:0",
    model_provider="bedrock_converse",
    temperature=0,
    # 其他参数
)

有关高级选项,请参考 API 参考

使用特定提供者的LLM

如果某个模型提供者无法通过 init_chat_model 调用,你可以直接实例化该提供者的模型类。该模型必须实现 BaseChatModel 接口 并支持工具调用:

API Reference: ChatAnthropic | create_react_agent

from langchain_anthropic import ChatAnthropic
from langgraph.prebuilt import create_react_agent

model = ChatAnthropic(
    model="claude-3-7-sonnet-latest",
    temperature=0,
    max_tokens=2048
)

agent = create_react_agent(
    model=model,
    # other parameters
)

示例说明

上面的示例使用了 ChatAnthropic,它已经可以通过 init_chat_model 调用。此模式仅用于演示如何手动实例化那些无法通过 init_chat_model 调用的模型。

禁用流式传输

要禁用单个LLM令牌的流式传输,请在初始化模型时设置 disable_streaming=True

from langchain.chat_models import init_chat_model

model = init_chat_model(
    "anthropic:claude-3-7-sonnet-latest",
    disable_streaming=True
)
from langchain_anthropic import ChatAnthropic

model = ChatAnthropic(
    model="claude-3-7-sonnet-latest",
    disable_streaming=True
)

有关 disable_streaming 的更多信息,请参阅 API 参考

添加模型回退

你可以使用 model.with_fallbacks([...]) 将回退添加到不同的模型或不同的 LLM 提供商:

from langchain.chat_models import init_chat_model

model_with_fallbacks = (
    init_chat_model("anthropic:claude-3-5-haiku-latest")
    .with_fallbacks([
        init_chat_model("openai:gpt-4.1-mini"),
    ])
)
from langchain_anthropic import ChatAnthropic
from langchain_openai import ChatOpenAI

model_with_fallbacks = (
    ChatAnthropic(model="claude-3-5-haiku-latest")
    .with_fallbacks([
        ChatOpenAI(model="gpt-4.1-mini"),
    ])
)

有关模型回退的更多信息,请参阅此 指南

其他资源