Deep Agents 可与任何 LangChain 聊天模型 配合使用,只要该模型支持 工具调用.
支持的模型
以 provider:model 格式指定模型(例如, google_genai:gemini-3.5-flash, openai:gpt-5.4, or anthropic:claude-sonnet-4-6)格式指定模型。提供者前缀用于选择 LangChain 集成,冒号后的所有内容将作为模型标识符传递给该提供者。如需有效的提供者字符串,请参阅 model_provider 参数init_chat_model。如需特定于提供者的配置,请参阅 聊天模型集成.
模型标识符必须与提供者期望的格式匹配。某些提供者使用简单的名称,如 gpt-5.5;其他提供者使用命名空间 ID 或部署路径,如 zai-org/GLM-5.2,因此完整的 Deep Agents 字符串应为 baseten:zai-org/GLM-5.2。请查看提供者的模型目录或集成文档以获取当前的标识符。
建议的模型
这些模型在 Deep Agents 评估套件上表现良好,该评估套件用于测试基本代理操作。通过这些评估对于在更长、更复杂的任务上获得良好性能是必要但不充分的条件。
| 提供者 | 模型 |
|---|---|
gemini-3.1-pro-preview, gemini-3.5-flash | |
| OpenAI | gpt-5.5, gpt-5.4 |
| Anthropic | claude-opus-4-8, claude-opus-4-7, claude-opus-4-6 |
| 开源模型 | GLM-5.2, Kimi-K2.7 Code, MiniMax-M3 |
开放权重模型可通过以下提供商获取 OpenRouter 和 Ollama.
模型评估
Deep Agents 评估套件 测试热门模型:
更多信息,请参阅 评估运行.
配置模型参数
传递模型字符串至 createDeepAgent in provider:model 格式,或传递配置好的模型实例以获得完全控制。在底层,模型字符串通过 init_chat_model.
要配置模型特定参数,请使用 init_chat_model 或直接实例化提供商模型类:
const model = await initChatModel("google_genai:gemini-3.5-flash", {
reasoningEffort: "medium", // [!code highlight]
});
const agent = createDeepAgent({ model });
const model = new ChatGoogle({
model: "gemini-3.1-pro-preview",
reasoningEffort: "medium", // [!code highlight]
});
const agent = createDeepAgent({ model });
提供商配置
A ProviderProfile 包初始化参数,当您提供 provider:model 字符串时适用。在创建深度代理时。当您使用 init_chat_model.
您可以在两个级别注册,两者可以共存:
- 提供商级别 — 一个裸提供商密钥,例如
"openai"适用于来自该openaiprovider. - 模型级别 — a
provider:model密钥,例如"openai:gpt-5.4"仅适用于该特定模型,并在匹配的提供商级别配置之上进行合并。
from deepagents import ProviderProfile, register_provider_profile
# Provider-wide default: every openai model gets temperature=0.
register_provider_profile(
"openai",
ProviderProfile(init_kwargs={"temperature": 0}),
)
# Model-level override: gpt-5.4 additionally gets a specific reasoning effort.
# Inherits temperature=0 from the provider-level profile above.
register_provider_profile(
"openai:gpt-5.5",
ProviderProfile(init_kwargs={"reasoning_effort": "medium"}),
)
参见 配置 了解完整字段列表、合并语义和插件打包方式。
在运行时选择模型
如果您的应用程序允许用户选择模型(例如使用 UI 中的下拉菜单),请使用 中间件 在运行时切换模型,而无需重建代理。
const contextSchema = z.object({
model: z.string(),
});
const configurableModel = createMiddleware({
name: "ConfigurableModel",
wrapModelCall: async (request, handler) => {
const modelName = request.runtime.context.model;
const model = await initChatModel(modelName);
return handler({ ...request, model });
},
});
const agent = await createDeepAgent({
model: "google_genai:gemini-3.5-flash",
middleware: [configurableModel],
contextSchema,
});
// Invoke with the user's model selection
const result = await agent.invoke(
{ messages: [{ role: "user", content: "Hello!" }] },
{ context: { model: "openai:gpt-5.5" } },
);
了解更多
- - LangChain 中的模型:聊天模型功能,包括工具调用、结构化输出和多模态