ArcLibrary

OpenRouter(模型聚合路由)

一把 API key 调几十家模型 —— 统一计费、自动路由、回退。

OpenRouterRouterAPI
核心 · Key Idea

一句话:OpenRouter 是LLM 的批发市场 —— 接 OpenAI / Anthropic / Google / Meta / DeepSeek / Mistral / 多家开源托管,同一个 OpenAI 兼容 endpoint。省钱 + 多备份 + 横向比价一站到位。

是什么#

from openai import OpenAI
 
c = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="sk-or-...",
)
 
# 直接指定模型
c.chat.completions.create(model="anthropic/claude-3.5-sonnet", messages=[...])
c.chat.completions.create(model="deepseek/deepseek-chat",     messages=[...])
c.chat.completions.create(model="meta-llama/llama-3.1-70b-instruct", messages=[...])

模型名格式:vendor/model-id

打个比方#

打个比方 · Analogy

直接接每家 API 像一家家开会员卡:N 家就 N 张卡 + N 套额度。
OpenRouter 像一卡通 —— 一张卡刷遍所有商户,账单合并。

关键能力#

统一计费Unified Billing
所有模型走 OpenRouter 余额,**一份发票**。
自动路由 / 回退Routing / Fallback
models 数组多个候选,主模型挂自动切下一家。
比价透明Per-Model Pricing
/models 接口实时返回每个模型的输入 / 输出价格。
Provider Preference供应商选择
同一开源模型有多家托管(Together / Fireworks / Lepton),可指定偏好。
Stream / Tools / Vision功能透传
原家有的功能多数透传可用。
App 标识HTTP-Referer / X-Title
OpenRouter 用这两个头识别请求来源应用。

怎么工作#

OpenRouter 在中间做鉴权 / 计费 / 路由 / 配额

实操要点#

  • 多模型回退

    {
      "models": [
        "anthropic/claude-3.5-sonnet",
        "openai/gpt-4o",
        "deepseek/deepseek-chat"
      ]
    }

    顺序 fallback。前一家 5xx / 限流自动切。

  • 追踪指标:OpenRouter Dashboard 直接看每个模型的成功率 / 延迟 / 花费。

  • 数据条款:每家 provider 上传请求会不会被训练,OpenRouter 在模型卡上写得很清楚 —— 敏感数据选 --data-policy strict

  • Streaming 行为:每家具体差异(reasoning content / tool deltas)OpenRouter 会做适配但不是 100%;接受 metadata 字段查看实际后端。

  • 限流:OpenRouter 自身有总量限流,再叠加 provider 限流。注意短时间高并发要分散。

  • 国内访问:直连 OpenRouter 国内可能慢;通过自建代理 + Cloudflare Tunnel 是常用方案。

易混点#

OpenRouter(聚合)
SaaS,统一计费。
省事但所有调用经过他。
LiteLLM(本地代理)
本地跑的 OpenAI 兼容 proxy。
数据不经第三方,但要自己接每家 key。

延伸阅读#