LiteLLM 深度研究:一个代理统一 100+ LLM API,AI 时代的 Nginx

> 来源: https://github.com/BerriAI/litellm

> 文档: https://docs.litellm.ai/

> 评测: https://www.truefoundry.com/blog/a-detailed-litellm-review-features-pricing-pros-and-cons-2026

> 研究时间: 2026-03-17

🎯 一句话版本

LiteLLM 就是 LLM 的"翻译器+路由器"——你的代码只写 OpenAI 格式,LiteLLM 帮你翻译成 Anthropic/Azure/Bedrock/Cohere 等 100+ 家的格式,并自动处理失败重试、负载均衡和费用追踪。就像 Nginx 把流量分发给后端服务器一样,LiteLLM 把 LLM 请求分发给不同的模型提供商。

🏗️ 两个产品,别搞混

Python SDKProxy Server(AI Gateway)
**是什么**Python 库独立的 FastAPI 服务
**安装**`pip install litellm`Docker 容器
**状态**无状态有状态(需要 PostgreSQL + Redis)
**适合谁**开发者个人使用团队/企业集中管控
**许可**MIT 免费社区版免费,企业版付费
**核心功能**统一调用 100+ LLM统一调用 + Key 管理 + 费用追踪 + 速率限制

⚡ 核心能力

1. 统一 API 格式


from litellm import completion

# 不管调谁,都是同一种写法
response = completion(model="openai/gpt-4o", messages=[...])
response = completion(model="anthropic/claude-sonnet-4", messages=[...])
response = completion(model="azure/my-deployment", messages=[...])
response = completion(model="bedrock/anthropic.claude-3", messages=[...])

支持的 endpoint:

2. 负载均衡 + 故障转移


# config.yaml
model_list:
  - model_name: gpt-4o
    litellm_params:
      model: azure/gpt-4o-eastus        # 主力
      api_base: https://eastus.openai.azure.com/
  - model_name: gpt-4o
    litellm_params:
      model: azure/gpt-4o-westus        # 备用
      api_base: https://westus.openai.azure.com/
  - model_name: gpt-4o
    litellm_params:
      model: openai/gpt-4o              # 兜底

Azure 东部 429 了 → 自动切西部 → 再挂了 → 切 OpenAI 直连。你的代码不用改一行。

3. Virtual Keys(虚拟密钥)


# 给实习生创建一个每分钟只能调 1 次的 key
curl -X POST 'http://0.0.0.0:4000/key/generate' \
  -H 'Authorization: Bearer sk-master-key' \
  -d '{"rpm_limit": 1, "max_budget": 10}'

4. 可观测性集成

原生支持:

5. 新增:A2A Agent Gateway + MCP Tools

2026 年新增的两大能力:

A2A(Agent-to-Agent)


# 通过 LiteLLM 调用 LangGraph/Vertex AI/Bedrock 上的 Agent
from litellm.a2a_protocol import A2AClient
client = A2AClient(base_url="http://localhost:4000/a2a/my-agent")
response = await client.send_message(request)

MCP(Model Context Protocol)


# 在 /chat/completions 中直接使用 MCP 工具
curl -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
  -d '{"model": "gpt-4o", "tools": [{"type": "mcp", "server_url": "litellm_proxy/mcp/github"}]}'

🧠 内置智能路由:根据问题难度自动选模型

LiteLLM 内置了两种 Auto Router,不需要外部依赖

Complexity Router(难度路由)⭐ 推荐

原理:基于规则给 query 打复杂度分,自动分四档路由到不同模型。

延迟:<1ms(零 API 调用,纯本地规则)。


model_list:
  - model_name: gpt-4o-mini
    litellm_params: { model: gpt-4o-mini }
  - model_name: gpt-4o
    litellm_params: { model: gpt-4o }
  - model_name: claude-sonnet
    litellm_params: { model: claude-sonnet-4-20250514 }
  - model_name: o1-preview
    litellm_params: { model: o1-preview }
  - model_name: smart-router              # ← 调用这个名字
    litellm_params:
      model: auto_router/complexity_router
      complexity_router_config:
        tiers:
          SIMPLE: gpt-4o-mini             # "今天星期几?"
          MEDIUM: gpt-4o                  # 一般问题
          COMPLEX: claude-sonnet          # 复杂分析
          REASONING: o1-preview           # 推理难题
      complexity_router_default_model: gpt-4o

调用时 model="smart-router" 就行,LiteLLM 自动判断难度选模型。

Semantic Auto Router(语义路由)

原理:用 embedding 做语义匹配——预定义"样例句子",LiteLLM 把新请求跟样例做相似度匹配,选最接近的模型。

适合:按意图分流(如"代码问题→Claude"、"翻译→GPT")。

缺点:需要额外调 embedding API,延迟 100-500ms。

两种路由对比

Complexity RouterSemantic Router
原理规则打分(难度)Embedding 相似度(意图)
延迟<1ms100-500ms
额外 API不需要需要 embedding 模型
配置开箱即用需要写样例句子
适合按难度省钱按意图分专家模型

> 文档: https://docs.litellm.ai/docs/proxy/auto_routing

🗄️ Proxy Server 有状态:存了什么?

Proxy Server(AI Gateway)需要 PostgreSQL + Redis,具体存储内容:

存储内容说明
**PostgreSQL**Virtual Key(虚拟密钥)谁有什么权限
团队/用户信息组织架构
费用日志每个 key/团队/项目花了多少钱
速率限制配置每个 key 的 RPM/TPM 上限
模型访问权限谁能用什么模型
**Redis**速率限制计数器实时追踪"这个 key 这分钟调了几次"
响应缓存相同 prompt 直接返回,省钱
当前请求状态并发追踪

简单说:PG 存"规则和账单",Redis 存"实时计数和缓存"。如果只是个人用不需要这些,SDK 版(无状态)就够了。

📦 安装方法

最简:Python SDK


pip install litellm

# 一行启动代理
litellm --model gpt-4o
# → http://0.0.0.0:4000

Docker(推荐)


docker run \
  -v $(pwd)/config.yaml:/app/config.yaml \
  -e OPENAI_API_KEY=sk-xxx \
  -p 4000:4000 \
  docker.litellm.ai/berriai/litellm:main-latest \
  --config /app/config.yaml

Docker Compose(完整版,带 DB)

需要 PostgreSQL + Redis。官方提供 docker-compose.yml。

💰 定价

版本费用功能
**社区版**免费(MIT)路由、负载均衡、基础日志
**企业版**联系销售SSO/RBAC、团队预算管理、企业支持

自托管基础设施成本估算:$200-500/月(取决于流量和冗余需求)。

📊 性能

指标数据
P95 延迟**8ms**(1K RPS)
支持提供商**100+**
支持 endpoint10+(chat/embed/image/audio/batch/rerank/a2a/mcp)
Docker 镜像`-stable` 标签经过 12 小时负载测试

🤔 深度分析

LiteLLM vs OpenRouter

LiteLLMOpenRouter
**部署**自托管云服务
**数据**不过第三方过 OpenRouter 服务器
**定价**免费 + 自己付基础设施按用量加价
**Key 管理**自己管理OpenRouter 管理
**适合**需要数据隐私/合规快速上手、不想运维

我们目前用 OpenRouter——方便但数据过第三方。如果未来需要合规或更精细的控制,可以考虑切到 LiteLLM 自托管。

运维代价(README 不会告诉你的)

1. PostgreSQL + Redis:想用 Virtual Key 和费用追踪?必须部署数据库。你不只是 AI 工程师,你还要管数据库迁移、备份、连接池

2. 企业功能付费墙:SSO/RBAC/团队预算 → 需要企业版许可证

3. 无 SLA:社区版没有正式 SLA,挂了自己修

4. 版本更新频繁:活跃项目的双刃剑——功能多但升级也频繁

最佳使用场景

场景推荐度说明
个人开发者统一调用多模型✅✅✅`pip install litellm` 秒装
团队多模型负载均衡✅✅✅Proxy + Virtual Key
数据敏感行业(金融/医疗/政府)✅✅✅自托管,数据不出 VPC
不想运维的小团队用 OpenRouter 更省事
需要 SSO/RBAC 的企业🟡需要企业版许可证

💡 与我们的关联

1. 可以替代 OpenRouter

如果我们想要:

LiteLLM Proxy 就是答案。部署到 ub2(i9 + 63GB RAM),8ms 延迟完全够用。

2. Langfuse + LiteLLM = 完整可观测性


我们的 Agent
    ↓
LiteLLM Proxy(路由 + 费用追踪)
    ↓ (自动发 Trace)
Langfuse(可视化仪表盘)
    ↓
GPT-4 / Claude / DeepSeek / GLM-5

LiteLLM 原生支持 Langfuse 回调——配置一行环境变量就行。

3. A2A + MCP Gateway

LiteLLM 新增的 A2A 和 MCP Gateway 意味着它正在从"LLM 代理"升级为"AI Agent 基础设施"。如果我们未来要做多 Agent 协作,LiteLLM 可以做统一的 Agent 调用网关。

4. 渐进式迁移路径


现在:OpenRouter(零运维)
  ↓
中期:LiteLLM SDK(代码里直接用,零部署)
  ↓
后期:LiteLLM Proxy(自托管,完全掌控)

📊 评分

维度评分(/10)
技术能力9.0 — 100+ 提供商、8ms P95、A2A/MCP 新能力
安装体验8.5 — SDK 极简,Proxy 需要 PG+Redis
开源程度8.0 — MIT 核心,企业功能付费
生态集成9.5 — Langfuse/OTel/MLflow 原生支持,覆盖几乎所有 LLM
与我们的关联8.5 — 可替代 OpenRouter,与 Langfuse 完美配合
**综合****8.8**

报告由深度研究助手自动生成 | 2026-03-17

来源: https://github.com/BerriAI/litellm