UniterRouter
Features

路由

LLM API 路由 - 智能模型选择、故障转移和负载均衡。为 GPT-4、Claude、Gemini 减少延迟,提高可靠性。

路由

UniterRouter 提供灵活智能的路由选项,帮助你从 AI 应用中获得最佳性能和成本效益。无论你想使用特定模型、提供商,还是让我们的系统自动优化你的请求,我们都能满足你的需求。

模型选择

任意模型名称

你可以使用模型页面上的任何模型名称,或通过 /v1/models 端点程序化地发现可用模型。

curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

模型 ID 路由

选择特定模型 ID 以路由到该模型的最佳可用提供商。UniterRouter 的智能路由算法考虑多个因素,在所有配置的选项中找到最优提供商。

智能路由算法

当你使用不带提供商前缀的模型 ID 时,UniterRouter 的智能路由系统会分析多个因素来选择最佳提供商:

加权评分系统(基于最近 5 分钟的指标):

  • 可用性 (50%) - 优先选择高可靠性和低错误率的提供商
  • 吞吐量 (20%) - 倾向于每秒生成更多 token 的提供商
  • 价格 (20%) - 在保持质量的同时考虑成本效益
  • 延迟 (10%) - 考虑首个 token 的响应时间(仅适用于流式请求)

算法为每个可用提供商计算加权分数,并选择得分最低(最佳)的提供商。所有指标都经过归一化处理,以确保提供商之间的公平比较。

非流式请求的延迟权重:

对于非流式请求,延迟权重 (10%) 会按比例重新分配给其他因素,因为在等待完整响应时,首个 token 的时间不太相关。

指数可用性惩罚:

可用性低于 95% 的提供商会受到额外的指数惩罚,随着可用性下降惩罚迅速增加:

  • 95-100% 可用性:无惩罚
  • 90% 可用性:~0.07 惩罚
  • 80% 可用性:~0.62 惩罚
  • 70% 可用性:~1.73 惩罚
  • 50% 可用性:~5.61 惩罚

这确保遇到重大问题的提供商被强烈降低优先级,而轻微波动的影响很小。

Epsilon-Greedy 探索(1% 的请求):

为了解决新提供商或未使用的提供商从未获得流量来建立指标的"冷启动问题",系统会在 1% 的时间内随机探索不同的提供商。这确保:

  • 所有提供商定期获得流量
  • 新提供商可以证明其可靠性
  • 系统适应变化的提供商性能
  • 你随时间受益于改进的路由决策

路由元数据:

每个请求在日志中包含详细的路由元数据,显示:

  • 被考虑的可用提供商
  • 选定的提供商和选择原因
  • 每个提供商的分数(包括可用性、吞吐量、延迟和价格)

这种透明性让你能够理解和调试路由决策。

使用不带提供商前缀的模型 ID 会根据可靠性、速度和成本自动路由到最优提供商。系统根据实时性能指标持续学习和适应。

智能路由优先考虑可靠性而非成本,确保你的请求被路由到具有经过验证的可用性和性能的提供商,同时仍然考虑成本效益。

指定提供商路由

要使用特定提供商而不使用任何回退,请在模型名称前加上提供商名称和斜杠:

# 专门使用 OpenAI
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

# 专门使用 CloudRift 提供商
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cloudrift/deepseek-v3",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

低可用性保护

当你明确指定提供商时,UniterRouter 会检查提供商最近的可用性(最近 5 分钟)。如果可用性低于 90%,系统会自动将你的请求路由到最佳可用的替代提供商以确保可靠性。这保护你的应用免受遇到临时问题的提供商的影响。

如果请求的提供商可用性低但该模型没有其他可用的替代提供商,请求仍将发送到原始请求的提供商。

使用 X-No-Fallback 头禁用回退

如果你需要绕过此保护,始终使用你指定的确切提供商而不管其当前可用性,可以使用 X-No-Fallback 头:

# 即使可用性低也强制使用特定提供商
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-No-Fallback: true" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

使用 X-No-Fallback: true 会禁用自动提供商故障转移。即使指定的提供商遇到问题,你的请求也会被发送到该提供商,这可能导致更高的错误率。

当使用 X-No-Fallback 头时,日志中的路由元数据将包含 noFallback: true,表示该请求禁用了回退。

优化自动路由

自动路由会自动为你的特定用例选择最佳模型,无需你指定模型。

当前实现

自动路由系统目前:

  • 默认选择经济高效的模型以获得最佳性价比
  • 根据请求的上下文大小自动扩展到更强大的模型
  • 智能处理大上下文,选择具有适当上下文窗口的模型
# 让 UniterRouter 选择最优模型
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "你的请求..."}]
  }'

仅限免费模型

使用自动路由时,你可以通过将 free_models_only 参数设置为 true 来限制仅选择免费模型(输入和输出价格为零的模型):

# 仅自动路由到免费模型
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "你好!"}],
    "free_models_only": true
  }'

在你的账户中添加少量余额(例如 $5)将立即将免费模型的速率限制从每 10 分钟 5 个请求升级到每分钟 20 个请求。

free_models_only 参数仅适用于自动路由("model": "auto")。如果没有满足你请求要求的免费模型,API 将返回错误。

仅限推理模型

只需指定 reasoning_effort 值,就只会选择支持推理的模型。此参数不仅限于 auto 模型。

# 仅自动路由到推理模型
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "你好!"}],
    "reasoning_effort": "medium"
  }'

排除推理模型

使用自动路由时,你可以通过将 no_reasoning 参数设置为 true 来排除推理模型。当你需要更快的响应或需要避免推理模型的额外成本和延迟时,这很有用:

# 自动路由但排除推理模型
curl -X POST "https://api.uniterouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer $UNITEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "你好!"}],
    "no_reasoning": true
  }'

no_reasoning 参数仅适用于自动路由("model": "auto")。如果没有满足你请求要求的非推理模型,API 将返回错误。

自动路由分析你的负载,自动在简单请求的经济高效模型和复杂或大上下文请求的更强大模型之间选择。

即将推出:高级优化

我们正在持续改进自动路由功能。很快你将受益于:

  • 工具调用优化:自动选择擅长函数调用和结构化输出的模型
  • 内容感知路由:分析消息内容以确定特定类型请求(编码、创意写作、分析等)的最佳模型
  • 基于性能的路由:根据类似请求的历史性能数据进行路由
  • 多模型编排:智能组合多个模型以处理复杂工作流

工作原理

  1. 请求分析:系统分析你的请求,包括消息内容、上下文大小和任何特殊参数
  2. 模型选择:根据分析,选择最合适的模型,考虑成本、性能和能力
  3. 透明路由:你的请求无缝路由到选定的模型和提供商
  4. 优化响应:你在保持成本效益的同时获得最佳响应

自动路由决策在你的使用日志中是透明的,所以你总是可以看到每个请求选择了哪个模型。

最佳实践

开发阶段

  • 在开发和测试期间使用特定模型名称
  • 在生产工作负载中利用自动路由来优化成本

生产环境

  • 使用自动路由("model": "auto")以获得成本和性能的最佳平衡
  • 通过控制台监控你的使用模式以了解路由决策
  • 为多个提供商设置提供商密钥以最大化路由选项

成本优化

  • 让自动路由处理模型选择,自动使用最经济高效的选项
  • 使用不带提供商前缀的模型 ID 以始终获得最便宜的可用提供商
  • 监控你的使用分析以跟踪智能路由带来的成本节省

How is this guide?