Skip to main content
Deep Agents 可与任何支持工具调用LangChain 聊天模型 协同工作。

支持的模型

provider:model 格式指定模型(例如,google_genai:gemini-3.1-pro-previewopenai:gpt-5.4anthropic:claude-sonnet-4-6)。有关有效的提供商字符串,请参阅 init_chat_modelmodel_provider 参数。有关特定于提供商的配置,请参阅聊天模型集成

推荐模型

这些模型在 Deep Agents 评估套件 上表现良好,该套件测试基本的代理操作。通过这些评估是必要条件,但对于更长、更复杂的任务的强劲性能来说并不充分。
提供商模型
Googlegemini-3.1-pro-preview, gemini-3-flash-preview
OpenAIgpt-5.4, gpt-4o, gpt-4.1, o4-mini, gpt-5.2-codex, gpt-4o-mini, o3
Anthropicclaude-opus-4-6, claude-opus-4-5, claude-sonnet-4-6, claude-sonnet-4, claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-1
开放权重GLM-5, Kimi-K2.5, MiniMax-M2.5, qwen3.5-397B-A17B, devstral-2-123B
开放权重模型可通过 OpenRouterFireworksOllama 等提供商获取。

配置模型参数

将模型字符串以 provider:model 格式传递给 createDeepAgent,或传递配置好的模型实例以获得完全控制。在底层,模型字符串通过 init_chat_model 解析。 要配置特定于模型的参数,请使用 init_chat_model 或直接实例化提供商模型类:
import { initChatModel } from "langchain/chat_models/universal";
import { createDeepAgent } from "deepagents";

const model = await initChatModel("google_genai:gemini-3.1-pro-preview", {
    reasoningEffort: "medium",
});
const agent = createDeepAgent({ model });
可用参数因提供商而异。请参阅聊天模型集成页面以获取特定于提供商的配置选项。

在运行时选择模型

如果您的应用程序允许用户选择模型(例如在 UI 中使用下拉菜单),请使用中间件在运行时交换模型,而无需重新构建代理。
import { initChatModel, createMiddleware } from "langchain";
import { createDeepAgent } from "deepagents";
import * as z from "zod";

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.1-pro-preview",
  middleware: [configurableModel],
  contextSchema,
});

// 使用用户选择的模型调用
const result = await agent.invoke(
  { messages: [{ role: "user", content: "Hello!" }] },
  { context: { model: "openai:gpt-5.4" } },
);
有关更动态的模型模式(例如基于对话复杂性或成本优化的路由),请参阅 LangChain 代理指南中的动态模型

了解更多