
LiteLLM
MIT 开源 LLM 网关——SDK + Proxy 双形态,100+ 厂商统一 OpenAI 接口 + 虚拟 Key + 团队预算
想要『SaaS 体验 + 完全自托管』的开源 LLM 网关首选。组合『LiteLLM 网关 + Helicone/Langfuse 观测』在中大型 dev org 是黄金组合。中文中转 + 业务支付走 one-api。
TL;DR
LiteLLM 是开源 LLM 网关里事实标准:MIT 协议,BerriAI 维护,双形态——SDK(pip install,单进程嵌入)+ Proxy(Docker Compose + Postgres,团队级网关)。100+ 厂商统一 OpenAI 接口,虚拟 Key + 团队预算 + 三类 fallback(错误/政策/上下文)+ 成本追踪 + 内置 admin UI。2026-03 供应链事件后 v1.83+ 强化镜像验证,生产固定签名版本。
适合:中大型团队 / 合规 / 想完全控数据 + BYOK;微服务架构需要语言无关的 OpenAI 网关;要把成本治理 + 观测做到自建。不适合:不想运维(SaaS 走 OpenRouter / Portkey);中文支付 / 业务运营(走 one-api / new-api);纯个人项目(pip 装 SDK 已够,不需要 Proxy)。
核心能力
- 100+ providers:OpenAI / Anthropic / Google / AWS Bedrock / Azure / vLLM / Ollama / Together / HuggingFace 等
- 统一 OpenAI 接口:所有模型走
/v1/chat/completions - SDK 模式:
from litellm import completion,适合嵌入 - Proxy 模式:HTTP 服务 + Postgres + admin UI(
/ui) - 虚拟 Key:
/key/generate给团队 / 服务签发独立 Key + 预算 + 模型白名单 - 三类 fallback:错误 / 内容政策 / context window
- 重试 + 超时 + cooldown:完整 SRE 配套
- Cost tracking:
/global/spend/report+ admin UI 看每团队 / Key / 模型成本 - 回调:Langfuse / Prometheus / Slack 一键挂载
- Guardrails:Presidio PII masking / 自定义内容检查
- 缓存:Redis 内置 + 语义缓存
- Routing strategy:cost-based / latency-based / round-robin
- MIT 协议:完全自由商用 + 修改
价格
- OSS:$0;自托管成本 = 1 台 Postgres + 1 台 LiteLLM container(~2GB RAM)
- Enterprise:Custom;SSO / SAML / 审计 / SLA / on-prem 部署支持
- 模型成本走各厂商直接结算(BYOK)
小规模总成本:1 台 2 核 4G VPS 跑 Postgres + LiteLLM 月 $20–30,团队 10 人完全够。
实测(10 人 SaaS / 微服务架构)
亮点:
- Docker Compose 40 分钟拉起完整生产栈
- 虚拟 Key + 预算让微服务团队成本归因清晰
- 三类 fallback 配齐后可用率从 99.2% → 99.8%
- admin UI 看每团队每天成本省了一堆自研 dashboard
- Postgres + master key 模式,密钥 + 配置一致性高
- 与 Langfuse 集成做 trace + cost 双视角
- 多语言客户端(Python / Node / Go / Rust)走同一 endpoint 体验一致
踩坑:
- 2026-03 供应链事件让团队对
:latesttag 警惕,生产必须固定签名版本(如 v1.85.0) - Postgres salt key 一旦生成不能轮换,初始化前要谨慎备份
- admin UI 早期版本英文为主,中文文档少
- 模型 ID 命名复杂(
provider/model-name),各厂商命名规则不一 - 自托管 = 自付运维(Postgres backup / 升级 / 监控)
上手(Proxy 模式)
mkdir llm-gateway && cd llm-gateway
openssl rand -hex 32 > .master_key
openssl rand -hex 32 > .salt_key
# docker-compose.yml 拉 ghcr.io/berriai/litellm:v1.85.0
# config.yaml 写 model_list / fallbacks / litellm_settings
docker compose up -d
# 生成虚拟 Key
curl -X POST http://localhost:4000/key/generate \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-d '{"models":["gpt-5.4","claude-sonnet-4.6"],"max_budget":100}'
# 业务方调用
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model":"gpt-5.4","messages":[...]}'
对比
| 维度 | LiteLLM | OpenRouter | One-API | Portkey |
|---|---|---|---|---|
| 形态 | OSS + Enterprise | SaaS | OSS | SaaS |
| 协议 | MIT | – | MIT | – |
| 自托管 | ✅ | ❌ | ✅ | Enterprise |
| 模型数 | 100+ | 300+ | 30+ | 250+ |
| 虚拟 Key + 预算 | ✅ | – | ✅ | ✅ |
| Fallback | ✅ 三类 | ✅ | ✅ | ✅ |
| admin UI | ✅ 内置 | dashboard | ✅ 中文 UI | ✅ |
| 中文支付 | ❌ | ❌ | ✅ EPay 内置 | ❌ |
| 集成观测 | Langfuse/Prom | dashboard | 仪表盘 | 原生 |
避坑
- 必固定版本号:
:latest/ 滚动 tag 在 2026-03 供应链事件后已是禁忌;用带签名验证的具体版本(如 v1.85.0) - salt_key 不能轮换:初始化前生成 + 加密备份
- Postgres 备份:所有虚拟 Key + 预算都在 DB,必须定期备份
- fallback 链别堆超 3 个:失败叠加延迟 + 计费混乱
- drop_params 谨慎开:开
drop_params: true会静默丢不兼容字段,调试时容易 confused - PII guardrail 不是 0 延迟:Presidio 调用增 50–100ms,敏感场景再用
- monorepo + workspace 模型映射:业务方调
gpt-4→ config 映射到openai/gpt-5.4-mini,要规划稳定映射表 - 国内自托管:BYOK Key 走海外 API 仍然受网络影响,需要部署在能直连厂商的节点
适合 / 不适合
- ✅ 中大型团队 / 微服务架构
- ✅ 合规 / 数据主权要求
- ✅ 多团队预算治理
- ✅ 想叠加 Langfuse / Helicone / Prometheus 观测
- ✅ BYOK 模式跨多厂商
- ❌ 不想运维(走 OpenRouter / Portkey)
- ❌ 国内业务支付 + 中文运营(走 one-api / new-api)
- ❌ 纯个人项目(SDK 足够,不需要 Proxy)
相关阅读
来源
- NerdLevelTech — LiteLLM Proxy Production Tutorial 2026(含 v1.85.0 + 供应链事件细节)https://nerdleveltech.com/litellm-proxy-production-llm-gateway-tutorial
- LiteLLM 官方文档 — Fallbacks / Retries / Cooldowns https://docs.litellm.ai/docs/proxy/reliability
- Youngju.dev — LiteLLM Complete Guide 2026(SDK vs Proxy / cost-based routing)https://www.youngju.dev/blog/culture/2026-03-25-litellm-unified-llm-api-proxy-guide-2025.en
- GitHub — BerriAI/litellm README https://github.com/BerriAI/litellm
| 计划 | 价格 | 限制 | 国内支付 | 备注 |
|---|---|---|---|---|
| Open Source | $0(MIT) | — | — | |
| Enterprise | Custom | — | — |
SDK 和 Proxy 模式区别?
SDK 模式(`from litellm import completion`)直接在 Python 里调,适合个人项目 / 单服务。Proxy 模式启动一个 HTTP 服务(默认 4000 端口)+ Postgres,所有应用通过 OpenAI 兼容 endpoint 调用,支持虚拟 Key / 团队 / 预算 / 配额 / admin UI——团队 / 多语言客户端 / 生产建议走 Proxy。
Fallback 有几种?
三类:(1) general fallback——5xx/429 错误切到备用模型;(2) content policy fallback——内容审查拒绝时切;(3) context window fallback——输入超 context 切大窗口模型(比如超 GPT-4 32k 自动切 Claude 200k)。可叠加 num_retries / cooldown / timeout 做完整 SRE 策略。
2026-03 供应链事件是什么?
2026-03-24 PyPI 上的 v1.82.7 / v1.82.8 在被替换约 40 分钟内可能植入 Trivy CI token 外泄代码。BerriAI 在 v1.83+ 强化签名 + 镜像验证,生产部署务必固定到带签名验证的版本(如 v1.85.0),不要用 `:latest` tag。
和 OpenRouter 怎么选?
OpenRouter = SaaS(不用自己运维 + 直接付钱);LiteLLM = OSS 自托管(自付服务器 + 完全控制数据 + BYOK 所有 Key)。中大型团队 / 合规 / 长期成本敏感 / 自建 → LiteLLM Proxy;小团队 / 不想运维 / 快速迭代 → OpenRouter。