以编程方式使用文档

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 评估套件上表现良好,该评估套件用于测试基本代理操作。通过这些评估对于在更长、更复杂的任务上获得良好性能是必要但不充分的条件。

提供者模型
Googlegemini-3.1-pro-preview, gemini-3.5-flash
OpenAIgpt-5.5, gpt-5.4
Anthropicclaude-opus-4-8, claude-opus-4-7, claude-opus-4-6
开源模型GLM-5.2, Kimi-K2.7 Code, MiniMax-M3

开放权重模型可通过以下提供商获取 OpenRouterOllama.

模型评估

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" 适用于来自该 openai provider.
  • 模型级别 — 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" } },
);

了解更多