Deep Agents 可与任何支持工具调用LangChain chat model配合使用。

支持的模型

使用 provider:model 格式指定模型(例如 anthropic:claude-sonnet-4-6openai:gpt-5.4)。有关合法的供应商模型标识符,请参阅 init_chat_modelmodel_provider 参数。有关供应商特定的配置,请参阅聊天模型集成

推荐的模型

这些模型在 Deep Agents 评估套件 上表现良好,该套件能够测试智能体的基本操作。通过这些评估是必要条件,但对于更长、更复杂的任务来说还不够充分。
供应商模型
Anthropicclaude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4claude-sonnet-4-5claude-haiku-4-5claude-opus-4-1
OpenAIgpt-5.4gpt-4ogpt-4.1o4-minigpt-5.2-codexgpt-4o-minio3
Googlegemini-3-flash-previewgemini-3.1-pro-preview
开源模型GLM-5Kimi-K2.5MiniMax-M2.5qwen3.5-397B-A17Bdevstral-2-123B
开源模型可通过 BasetenFireworksOpenRouterOllama 等供应商获取。

配置模型参数

将模型字符串以 provider:model 格式传递给 create_deep_agent,若想完全定制模型,可传入配置好的模型实例。在底层,模型字符串通过 init_chat_model 解析。 要配置特定于模型的参数,请使用 init_chat_model 或直接实例化供应商模型类:
from langchain.chat_models import init_chat_model
from deepagents import create_deep_agent

model = init_chat_model(
    model="anthropic:claude-sonnet-4-6",
    thinking={"type": "enabled", "budget_tokens": 10000},
)
agent = create_deep_agent(model=model)
可用参数因供应商而异。请参阅聊天模型集成页面了解供应商特定的配置选项。

在运行时选择模型

如果您的应用程序允许用户选择模型(例如在 UI 中使用下拉菜单),请使用中间件在运行时切换模型,而无需重建智能体。 通过运行时上下文传递用户选择的模型,然后使用 @wrap_model_call 标注过的wrap_model_call 中间件,在每次调用时覆盖智能体中的模型:
from dataclasses import dataclass
from langchain.chat_models import init_chat_model
from langchain.agents.middleware import wrap_model_call, ModelRequest, ModelResponse
from deepagents import create_deep_agent
from typing import Callable


@dataclass
class Context:
    model: str

@wrap_model_call
def configurable_model(
    request: ModelRequest,
    handler: Callable[[ModelRequest], ModelResponse],
) -> ModelResponse:
    model_name = request.runtime.context.model
    model = init_chat_model(model_name)
    return handler(request.override(model=model))

agent = create_deep_agent(
    model="anthropic:claude-sonnet-4-6",
    middleware=[configurable_model],
    context_schema=Context,
)

# 使用用户选择的模型调用
result = agent.invoke(
    {"messages": [{"role": "user", "content": "您好!"}]},
    context=Context(model="openai:gpt-4.1"),
)
有关更多动态模型模式(例如基于对话复杂性或成本优化的选择),请参阅 LangChain 智能体指南中的动态模型

了解更多