如果你正在为生产环境网关选择 OpenRouter 和 LiteLLM,决策关键在于路由层应该在哪里运行。
两者都为你提供跨多个提供商的单一 OpenAI 兼容 API。OpenRouter 为你运行该层,因此无需运维基础设施。LiteLLM 在你自己的基础设施内运行,因此你的数据保留在你的网络上,并且无需支付平台费用,但代价是你需要自行运维 PostgreSQL、Redis 和 Docker。
当数据不能离开你的网络、你需要在自己基础设施内进行基于角色的访问控制,或者你的模型支出足够高以至于 5.5% 的平台费用比运行代理的成本更高时,选择 LiteLLM。大多数其他情况则倾向于托管选项。
决定路由层部署在哪里
OpenRouter 位于你的应用和 70 多个提供商之间,运行在 Cloudflare 的边缘网络上。你的应用调用 https://openrouter.ai/api/v1,OpenRouter 应用路由和故障转移,并将请求转发给上游提供商。你永远不需要管理服务器、数据库或每个提供商的凭证。
LiteLLM 是一个你自行部署的代理,以 Docker 容器或 Kubernetes Pod 的形式运行。它在你的网络内部暴露相同的 OpenAI 兼容端点,将每个请求重写为提供商的本地格式,然后转发。PostgreSQL 存储支出数据和密钥;Redis 在生产环境中处理缓存和速率限制。你需要运行这三个组件。
这种差异是合规团队首先会问到的。使用 LiteLLM,请求数据在到达提供商之前永远不会离开你的网络。使用 OpenRouter,请求首先通过一个托管层,因此有严格数据驻留规则的团队应审查可用的路由和零数据保留控制。
OpenRouter: app -> OpenRouter (Cloudflare edge) -> provider
LiteLLM: app -> LiteLLM proxy (your infra: Docker + PostgreSQL) -> provider 各网关的成本是多少
OpenRouter 以 0% 加价传递提供商定价,然后对按需付费的信用购买收取 5.5% 的平台费用,每笔购买最低 0.80 美元。自带密钥可将费用降至 5%,并且每月前 100 万次请求免费。失败的请求不计费。
LiteLLM 可以免费自托管。你只需为基础设施付费:PostgreSQL 数据库、可选的 Redis 以及计算资源。对于生产环境部署,这些费用通常每月几百美元。LiteLLM 企业版增加了 SSO、SCIM、RBAC、审计日志和 Prometheus 指标,价格需联系其销售团队。
临界点是一个算术问题。用你每月的基础设施成本除以 5.5% 的费用。当基础设施成本约为每月 200 美元时,一旦你的模型支出超过每月约 3,600 美元,LiteLLM 就会变得更便宜;当基础设施成本为每月 500 美元时,这个临界点会移动到每月约 9,100 美元。低于这个临界点,托管服务的费用比运行代理所需的工程时间成本更低。
比较路由、故障转移和延迟
OpenRouter 默认路由效果良好。其由 NotDiamond 驱动的自动路由器会为每个提示词选择模型,并且提供商级别的路由会降低在过去 30 秒内出现过故障的提供商的优先级。你可以通过一个提供商对象来约束路由,该对象可以根据价格、吞吐量、延迟、数据策略、零数据保留(ZDR)和量化进行过滤。
LiteLLM 提供了更多策略和完全自定义的逻辑。它内置了六种路由模式:加权选择、基于延迟、感知速率限制、最少繁忙、最低成本,以及一种你可以编写 Python 代码的自定义模式。故障转移列表允许代理在一个模型失败时尝试下一个模型。如果你需要在代理层面强制执行按团队或按模型的规则,LiteLLM 也提供了相应的钩子。
延迟取决于你调优的程度。LiteLLM 报告称,在一个由 4 个实例(每个实例 4 个 CPU 和 8 GB 内存)组成的部署中,针对模拟端点测试,其中位开销约为 2 毫秒(P95 为 8 毫秒,P99 为 13 毫秒);如果减少到 2 个实例,中位开销会上升到约 12 毫秒(数据来自 LiteLLM 自行报告的基准测试)。OpenRouter 则在 Cloudflare 的边缘网络上增加了一次网络跳转,你无法对此进行调优或扩展。一个是你可以掌控的旋钮,另一个则是你无法改变的常量。
将合规需求与正确的网关相匹配
OpenRouter 提供第三方认证。它符合 SOC 2 Type 2 标准,完整报告可在 trust.openrouter.ai 获取,支持 GDPR,可按请求或整个账户启用零数据保留,并且可以为企业账户通过欧盟境内的提供商进行路由。工作区功能在此基础上增加了按团队的组织、预算和成本归属。
LiteLLM 实现了数据主权。由于您自行托管,请求在到达提供商之前绝不会离开您的基础设施,因此您可以执行自己的控制策略。LiteLLM Enterprise 增加了基于角色的访问控制(RBAC)、SSO/JWT 认证、审计日志以及按团队预算管理。它本身并未持有独立的 SOC 2、ISO 27001 或 HIPAA 认证,因此您的部署需要自行负责满足这些标准。
两者皆可用,或仅需几行代码即可切换
这两者并非互斥。LiteLLM 可以将 OpenRouter 作为上游提供商使用,这样您既能获得 LiteLLM 的本地 RBAC 和日志记录功能,同时 OpenRouter 负责处理多提供商故障转移和模型广度。
model_list:
- model_name: or-claude
litellm_params:
model: openrouter/anthropic/claude-opus-4.6
api_key: "your-openrouter-key"
api_base: "https://openrouter.ai/api/v1"
- model_name: or-gpt4o
litellm_params:
model: openrouter/openai/gpt-4o
api_key: "your-openrouter-key"
api_base: "https://openrouter.ai/api/v1" 切换方向只需更改基础 URL 和密钥,因为两者都使用 OpenAI 格式。
from openai import OpenAI
# OpenRouter
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="your-openrouter-key",
)
# LiteLLM
client = OpenAI(
base_url="http://your-litellm-host:4000",
api_key="your-litellm-master-key",
) 这使得两个网关可以共用一个客户端。如果您没有标准化使用 OpenAI SDK,OpenRouter 拥有自己的 SDK(Python 版为 openrouter,TypeScript 版为 @openrouter/sdk),可以直接调用 OpenRouter 端,无需设置基础 URL。
from openrouter import OpenRouter
import os
with OpenRouter(api_key=os.environ["OPENROUTER_API_KEY"]) as client:
response = client.chat.send(
model="anthropic/claude-opus-4.6",
messages=[{"role": "user", "content": "Hello"}],
) 如果您正在权衡除这两者之外的更多选择,我们的 LLM 网关对比涵盖了 Portkey、Helicone、Cloudflare AI Gateway 等。
常见问题
LiteLLM 和 OpenRouter 类似吗?
它们都跨多个提供商提供兼容 OpenAI 的 API,但构建方式不同。LiteLLM 是一个您自行托管的开源代理;OpenRouter 是一个运行在您无需操作的基础设施上的托管网关。这种差异体现在数据驻留、运维开销和费用方面。
我可以同时使用 LiteLLM 和 OpenRouter 吗?
可以。LiteLLM 支持将 OpenRouter 作为上游提供商,因此您可以通过本地的 LiteLLM 进行路由以实现 RBAC 和审计日志记录,同时由 OpenRouter 处理多提供商故障转移和模型广度。
OpenRouter 是免费的吗?
OpenRouter 提供 20 多个免费模型用于评估。付费使用按提供商定价传递,零加价,另加 5.5% 的信用购买平台费。使用自带密钥(BYOK)可将费用降至 5%,且每月前 100 万次请求免费。
OpenRouter 会存储我的提示词吗?
默认情况下不会。OpenRouter 不保留提示词或响应。可通过请求头或账户设置中的全局选项,按请求启用零数据保留。
OpenRouter 与 LiteLLM 相比,延迟开销如何?
LiteLLM 报告称,在经过调优的 4 实例部署中,针对模拟端点测试,其中位开销约为 2 毫秒;而 2 实例设置则升至约 12 毫秒。OpenRouter 在 Cloudflare 的边缘网络上增加了一次网络跳转,这部分你无法自行调优或扩展。