Router One

按延迟、成本、质量智能路由每一次模型调用

写死一个模型,就要承受它的所有坏日子:延迟飙升、限流、区域故障。智能路由把模型阵列当作候选集,用实时信号而非静态配置为每个请求做选择。Router One 在一个 OpenAI 兼容端点背后路由 25+ 个模型,并把每次决策记入请求 Trace——路由永远不是黑盒。

每次决策背后的信号

EWMA 延迟

对每个供应商最近 50 个请求做指数加权移动平均,按模型族独立计算。近期请求权重更高,路由能在数秒内对真实退化做出反应,又不会被单个慢请求带偏。

错误率

同一滚动窗口内的 5xx 与网关超时率。超过配置阈值的供应商会被临时降权,恢复后重新参与。

公示成本

候选线路在该模型族下的 token 级成本。成本是权重而非硬排序——延迟优先的项目里,更贵的线路依然可能胜出。

你的权重

每个项目可设置自己的延迟/成本/质量平衡。生产偏延迟、开发偏成本,也可按请求覆盖。

指定模型或 model="auto"

指定具体模型,网关直接调用,完全确定;发送 model="auto",网关按你的权重为候选打分并选择最优。

同模型族故障转移

选中线路返回 5xx、超时或网络错误时,请求在同模型族内故障转移——通常只增加 200ms 以内,Trace 同时记录两次尝试。

可预期是设计出来的

路由要可信才有价值。三条约束保证可预期:故障转移绝不跨模型族(GPT 请求由 GPT 族线路响应,Claude 请求由 Claude 族线路响应);每条 Trace 都显示由哪条线路处理、为什么,包括失败的尝试;企业合同可为合规或评测场景按项目完全关闭故障转移。

用 model="auto" 发起一次路由请求

在请求体里带上候选与权重。任何时候需要确定的模型,直接指定模型 id 即可——路由按请求级别可选。

request.json
# POST https://api.router.one/v1/chat/completions
{
  "model": "auto",
  "messages": [{"role": "user", "content": "Hello"}],
  "router": {
    "candidates": ["claude-3-5-sonnet", "gpt-4o", "deepseek-chat"],
    "weights": {"latency": 0.4, "cost": 0.4, "quality": 0.2}
  }
}

常见问题

智能路由如何决定用哪条线路?

每个候选按最近 50 个请求的 EWMA 延迟、公示 token 成本和滚动 5xx/超时率打分,再用项目的延迟/成本/质量权重合成。得分最高的健康线路获得请求,决策写入 Trace。

可以一直只用某个模型吗?

可以。指定模型 id,网关直接调用,不做候选选择。只有发送 model="auto" 或附带路由配置时,智能路由才会介入。

供应商退化时会发生什么?

错误率越过阈值的线路会被临时降权;进行中的失败会触发同模型族故障转移,通常只增加 200ms 以内。Trace 会显示失败尝试、错误码和最终完成请求的线路。

路由会切到别的模型族吗?

不会。故障转移严格限制在同模型族内——GPT 到 GPT,Claude 到 Claude。实际响应的具体型号记录在 Trace 中。

可以关闭故障转移吗?

企业合同可以为需要单供应商行为的项目关闭故障转移;按量付费项目使用默认故障转移配置。

在哪里看路由决策?

每个请求都会出现在面板里,带完整 Trace:模型、线路、Token、成本、延迟、状态,以及路由或故障转移决策。信号背后的方法论见路由方法论页。

相关页面

别再为单一供应商的坏日子买单。

免费开始