Skip to main content

provider/model 格式

使用与 OpenAI 兼容的端点(/v1/chat/completions/v1/embeddings)时, 请使用 provider/model 格式指定模型:
ARouter 解析提供商前缀,将请求路由到正确的上游, 并在转发前将 model 字段改写为提供商的原生格式。

示例

如果省略提供商前缀,ARouter 默认使用 OpenAI。 因此 "model": "gpt-5.4" 等同于 "model": "openai/gpt-5.4"

原生 SDK 端点

对于拥有自己 SDK 格式的提供商,请直接使用原生端点。 提供商由端点路径决定,而非 model 字段:
原生端点使用 provider/model 前缀——它们使用提供商的 原始模型名称,因为提供商已由端点路径隐含确定。

通用提供商代理

对于任何提供商,您也可以使用通用代理格式:
例如:
  • POST /openai/v1/chat/completions → 代理至 OpenAI
  • POST /deepseek/v1/chat/completions → 代理至 DeepSeek
  • POST /anthropic/v1/messages → 代理至 Anthropic
当您想绕过 model 字段解析并明确控制哪个提供商接收请求时,此方式非常有用。

自动路由

model 设置为 "auto",ARouter 将自动为您的提示选择最佳可用模型。无需任何模型配置。

工作原理

  1. ARouter 的路由服务分析您的请求(提示复杂度、任务类型、所需模态等)
  2. 根据成本效率和质量,从健康的可用提供商中选出最优模型
  3. 将您的请求转发至所选模型
  4. 响应中包含 model 字段,显示实际使用的模型

限制可选模型

使用 auto-router 插件通过通配符模式限制 auto 可选择的模型范围:
模式语法:
请始终检查 response.model 以确认实际使用的模型。

代码示例

使用场景

  • 通用应用 — 当您不确定用户会发送哪类提示时
  • 成本优化 — 让 ARouter 自动将简单任务路由到高效模型
  • 零配置原型 — 无需选择特定模型即可快速上手
  • 自适应路由 — 先让 ARouter 自动选择,仅在需要精确控制时再切换为有序候选列表

限制说明

  • 自动路由使用标准 messages 请求格式
  • 自动路由从您账户可用的模型中选择
  • 流式传输完全支持 "model": "auto"
  • 您按 ARouter 所选模型的正常费率付费,不收取额外路由费
  • 所选模型始终体现在响应的 model 字段中

候选模型列表

models 数组与 route 结合使用,让 ARouter 按顺序遍历候选模型列表。

工作原理

  1. ARouter 尝试列表中的第一个模型
  2. 如果该模型无法处理请求(提供商错误、速率限制、密钥不可用),则切换到下一个
  3. 如果所有模型均失败,ARouter 返回含最后一次失败原因的错误

路由行为

控制分区行为

默认情况下,使用候选列表时,端点按模型分组——第一个模型的端点始终在第二个模型之前尝试。您可以通过 provider.sort.partition 更改此行为:
设置 partition: "none" 可在所有候选模型间全局排序端点——当您希望使用当前最快的模型而不关心列表顺序时非常有用。完整参考请参阅提供商路由

在 OpenAI SDK 中使用候选列表

OpenAI SDK 原生不支持 models 参数。请使用 extra_body 传入:

助手预填充

ARouter 支持让模型补全部分响应。在 messages 数组末尾添加一条 role: "assistant" 的消息,即可从您留下的位置继续:
模型将从预填充的助手消息继续。此技术适用于:
  • 强制特定输出格式
  • 恢复多轮补全
  • 引导模型生成特定响应结构
并非所有模型都支持助手预填充。Anthropic Claude 和大多数开源模型支持此功能。OpenAI 模型支持有限。

路由底层原理

ARouter 完全透明地处理提供商 API key 注入、健康检查和故障转移。 您的应用程序永远不会看到上游提供商的凭据。