进阶 omnigent.ai 2026-10-14 06:47:13 · 26 阅读

第33章 Omnigent 智能路由配置详解

智能路由配置

Smart Routing 会根据会话的第一条消息选择 harness 和模型。用户工作流程和行为详见 Smart Routing 文档。

内置路由

配置服务级的 llm: 块即可使用内置 judge。此时不需要 routing: 块。如果 llm: 块和外部 routing: 块都没有配置,Smart Routing 将被禁用,Auto 选择器选项也会隐藏。

llm: model: openai/gpt-5.5 connection: api_key: ${OPENAI_API_KEY}

字段 是否必填 说明 model 是 judge 使用的带提供商前缀的模型 id,例如 openai/gpt-5.5。 connection 否 特定提供商的连接配置,例如 OpenAI 兼容端点的 api_key 和 base_url。支持 ${ENV} 环境变量引用。省略时使用该提供商默认的环境变量。 profile 否 ~/.databrickscfg 中的 Databricks CLI profile。与 connection 同时设置时,connection 优先。 fallback_models 否 主模型失败时按顺序尝试的备选模型列表,均需带提供商前缀。列表共享同一个 connection 配置,因此备选模型应来自同一提供商,或依赖环境变量凭据。

内置 judge 会将整个路由调用限制在 9 秒内(含备选模型的尝试时间)。服务级的 llm.request_timeout 设置无法延长这一路由专属的时间上限。

外部路由

添加顶层的 routing: 块,将选择逻辑委托给外部服务:

routing: provider: external base_url: https://gateway.example.com/ai-gateway/routing/v1 router_name: task_v0 model_prefix: databricks- api_key: ${ROUTING_API_KEY}

字段 是否必填 说明 provider 是 必须为 external。设为其他值或省略整个块时,若已配置 llm:,则回退到内置 judge。 base_url 是 路由服务的基础 URL。服务器会在其后追加 /routes:select。 router_name 是 路由策略名称,例如 task_v0。以 route_selector.router_name 的形式发送。 model_prefix 否 请求前从目录模型 id 中移除、响应时再还原的前缀(或前缀列表),例如 databricks-。 api_key 否 静态 Bearer token。支持 ${ENV} 环境变量引用。优先级高于 profile。 profile 否 Databricks CLI profile。服务器会为每次请求解析新的 OAuth token。

如果缺少 base_url 或 router_name,该 provider 会被跳过,路由保持关闭状态,但不会阻止服务器启动。

认证优先级

按以下顺序,第一个已配置的选项生效:

api_key:在展开 ${ENV} 后发送 Authorization: Bearer 。 profile:使用 Databricks SDK 为每次调用解析新 token,因此长期运行的服务器不会持有过期 token。 两者都未配置:不带认证信息发送请求。

请求和响应的具体契约见外部路由 API 参考文档。

评论 (0)