Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

模型提供方:概述

模型提供方是 ZeroClaw 对智能体可调用的任意 LLM 端点的抽象。每个聊天补全请求都会经过 ModelProvider trait 的实现(zeroclaw-api::ModelProvider),无论目标是远程 API、自托管推理服务器还是本地 Ollama 模型。

代理通过引用提供程序来访问它;有关这种连接方式如何协同工作,请参阅 Agents

为什么是“model”提供方?我们统一使用“model provider”(模型提供方)这一术语,此外还有 TTS 提供方和转录提供方,保留具体的限定词可以避免歧义。

配置形状

提供程序按系列进行类型化,通过 providers.models.<type>.<alias> 进行寻址。<type> 是规范的系列槽位(每个槽位的详细信息请参阅目录)。每个供应商对应一个槽位,没有同义词:不接受 azure_openaiazure-openaiclaude(用于 Anthropic)。

<alias> 是你为实例指定的操作员名称,并且每种类型可以定义任意数量的别名。你可以并行运行同一供应商家族的多个配置:相同的 type、不同的别名,每个别名拥有自己的密钥、模型和设置。例如,将两个 Anthropic 账户设为 anthropic.personalanthropic.work(各自拥有独立的 api_keymodel),代理通过 model_provider = "anthropic.personal"(或 "anthropic.work")来选择其中之一。请通过下面的界面来添加和编辑这些配置,而不要手动操作:

网关仪表板

在 Web 仪表板中打开 /config/providers.models

zerocode

Config 窗格中的 Model providers 下。

有关完整架构,请参阅 Configuration;有关每个系列的实际示例,请参阅 Catalog

按代理分发:不存在全局默认值

provider 条目本身不执行任何操作。要使用它,agent 需通过 model_provider 引用它(同时配合 risk_profile 和可选的 runtime_profile)。risk_profileruntime_profile 引用各自独立的别名映射,因此它们的名称无需匹配。如果任何引用无法解析,Config::validate() 会在启动时报错退出。每个调用点都会选择一个已配置的别名或选择不使用;不存在全局的“默认 provider”或“默认 model”开关。

对于多智能体部署,请为每个智能体分配各自的 model_provider。接收消息的通道每次只绑定到一个智能体,绑定方式通过该智能体的 channels 列表实现;完整说明请参阅 Channels

每个代理的语音 (TTS) 和转录

语音合成和语音转文本遵循相同的模式:一个类型化的家族提供程序条目,然后是按代理的引用。没有全局 TTS 或转录选择器字段。每个需要语音的代理都设置自己的路由。

下一步去哪里

  • 配置:完整的 [providers.*] 架构、Azure 类型化配置、区域和 OAuth 变体
  • 流式传输:令牌、工具调用和推理增量如何流动
  • 路由:多智能体调度以及作为路由层的 OpenRouter
  • Provider catalog:每个受支持的系列及其完整的 TOML 示例
  • 自定义提供方:将 custom 槽指向兼容 OpenAI 的端点,或实现 ModelProvider trait