字节笔记本
2026年6月21日
hermes教程-Provider 路由
Provider 路由
当使用 OpenRouter 作为你的 LLM 提供商时,Hermes Agent 支持 provider 路由——对哪些底层 AI 提供商处理你的请求以及它们的优先级进行细粒度控制。
OpenRouter 将请求路由到多个提供商(例如 Anthropic、Google、AWS Bedrock、Together AI)。Provider 路由让你可以针对成本、速度、质量进行优化,或强制执行特定的提供商要求。
提示
通过 Nous Portal 路由的流量仍然遵循每个模型的路由和优先级配置——并且 Portal 订阅者在使用按 token 计费的提供商时可享受 10% 的折扣。
配置
在你的 ~/.hermes/config.yaml 中添加一个 provider_routing 部分:
provider_routing:
sort: "price" # How to rank providers
only: [] # Whitelist: only use these providers
ignore: [] # Blacklist: never use these providers
order: [] # Explicit provider priority order
require_parameters: false # Only use providers that support all parameters
data_collection: null # Control data collection ("allow" or "deny")信息
Provider 路由仅在使用 OpenRouter 时适用。对于直接提供商连接(例如直接连接到 Anthropic API)没有效果。
选项
sort
控制 OpenRouter 如何为你的请求对可用提供商进行排序。
| 值 | 描述 |
|---|---|
"price" | 最便宜的提供商优先 |
"throughput" | 每秒 token 最快的提供商优先 |
"latency" | 首个 token 延迟最低的提供商优先 |
provider_routing:
sort: "price"only
提供商名称的白名单。设置后,仅使用这些提供商。所有其他提供商被排除。
provider_routing:
only:
- "Anthropic"
- "Google"ignore
提供商名称的黑名单。这些提供商将永远不会被使用,即使它们提供最便宜或最快的选项。
provider_routing:
ignore:
- "Together"
- "DeepInfra"order
显式优先级顺序。列在前面的提供商优先。未列出的提供商作为后备。
provider_routing:
order:
- "Anthropic"
- "Google"
- "AWS Bedrock"require_parameters
当为 true 时,OpenRouter 仅路由到支持你请求中所有参数(如 temperature、top_p、tools 等)的提供商。这可以避免静默丢弃参数。
provider_routing:
require_parameters: truedata_collection
控制提供商是否可以使用你的提示进行训练。选项为 "allow" 或 "deny"。
provider_routing:
data_collection: "deny"实际示例
优化成本
路由到最便宜的可用提供商。适合高用量和开发:
provider_routing:
sort: "price"优化速度
优先选择低延迟提供商,适合交互式使用:
provider_routing:
sort: "latency"优化吞吐量
最适合长文本生成,每秒 token 数很重要:
provider_routing:
sort: "throughput"锁定到特定提供商
确保所有请求都通过特定提供商以保证一致性:
provider_routing:
only:
- "Anthropic"避免特定提供商
排除你不想使用的提供商(例如出于数据隐私考虑):
provider_routing:
ignore:
- "Together"
- "Lepton"
data_collection: "deny"首选顺序与后备
首先尝试你首选的提供商,如果不可用则回退到其他提供商:
provider_routing:
order:
- "Anthropic"
- "Google"
require_parameters: true工作原理
Provider 路由偏好通过每个 API 调用中的 extra_body.provider 字段传递给 OpenRouter API。这适用于以下两种模式:
- CLI 模式 — 在
~/.hermes/config.yaml中配置,启动时加载 - Gateway 模式 — 相同的配置文件,网关启动时加载
路由配置从 config.yaml 中读取,并在创建 AIAgent 时作为参数传递:
providers_allowed ← from provider_routing.only
providers_ignored ← from provider_routing.ignore
providers_order ← from provider_routing.order
provider_sort ← from provider_routing.sort
provider_require_parameters ← from provider_routing.require_parameters
provider_data_collection ← from provider_routing.data_collection提示
你可以组合多个选项。例如,按价格排序但排除某些提供商并要求参数支持:
yamlprovider_routing: sort: "price" ignore: ["Together"] require_parameters: true data_collection: "deny"
默认行为
当没有配置 provider_routing 部分时(默认情况),OpenRouter 使用其自身的默认路由逻辑,通常会自动平衡成本和可用性。
提示 — Provider 路由与后备模型
Provider 路由控制 OpenRouter 内部的哪些子提供商处理你的请求。当你的主要模型失败时,自动故障转移到完全不同的提供商,请参阅后备提供商。