你是不是也遇到过这种场景——项目里同时用了 ChatGPT 和 Claude,每次切换模型都要改一遍 API 调用代码?
更头疼的是,不同模型的参数格式还不一样。GPT 用 temperature,某些模型用 top_p,迁移成本极高。
LiteLLM Proxy 就是为了解决这个问题诞生的。它像一个万能翻译器,把你的请求统一翻译成各个模型能看懂的格式。
一、LiteLLM Proxy 能做什么
先说最核心的三个能力:
统一接口。你只需要按 OpenAI 的格式发请求,Proxy 会自动转发给 GPT、Claude、Gemini、Llama 等 100+ 模型。代码一行不用改。
智能路由。你可以配置权重,让 70% 的请求走便宜模型,30% 走高性能模型。模型挂了自动切换备用,不会让你的服务中断。
成本控制。每个模型设置每日预算上限,超了就拒绝新请求。再也不用担心账单爆炸。
二、5 分钟搭建 LiteLLM Proxy
安装非常简单,一条命令搞定:
pip install litellm[proxy]
接下来创建一个 config.yaml 配置文件:
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: YOUR_OPENAI_KEY
- model_name: claude-opus
litellm_params:
model: anthropic/claude-opus-4-20250514
api_key: YOUR_ANTHROPIC_KEY
- model_name: gemini-pro
litellm_params:
model: gemini/gemini-2.0-flash
api_key: YOUR_GOOGLE_KEY
router_settings:
routing_strategy: usage-based-v2
启动服务:
litellm --config config.yaml --port 4000
看到 LiteLLM Proxy running on http://0.0.0.0:4000 就成功了。
三、用统一接口调用任意模型
现在你的服务地址是 http://localhost:4000。调用方式和 OpenAI 完全一致:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:4000",
api_key="sk-any-key-here"
)
# 调用 GPT-4o
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "解释量子计算"}]
)
# 调用 Claude(代码不用改)
response = client.chat.completions.create(
model="claude-opus",
messages=[{"role": "user", "content": "解释量子计算"}]
)
# 调用 Gemini
response = client.chat.completions.create(
model="gemini-pro",
messages=[{"role": "user", "content": "解释量子计算"}]
)
看明白了吗?同一个客户端对象,换一下 model 参数就能切模型。所有代码逻辑都不用动。
四、高级用法:负载均衡和故障转移
多模型负载均衡
想让多个模型分担流量?在 config.yaml 里这样配:
model_list:
- model_name: cheap-model
litellm_params:
model: azure/gpt-35-turbo
api_key: KEY1
- model_name: cheap-model
litellm_params:
model: vertex_ai/chat-bison
api_key: KEY2
两个模型同名,Proxy 会自动轮流分配请求。省钱的秘诀。
故障自动转移
如果主模型响应超时或报错,Proxy 会自动切换到备用模型:
model_list:
- model_name: primary-model
litellm_params:
model: openai/gpt-4o
api_key: YOUR_KEY
max_retries: 3
- model_name: fallback-model
litellm_params:
model: anthropic/claude-sonnet-4-20250514
api_key: YOUR_KEY
num_retries: 3
router_settings:
retry_policy: "retry-on-server-error"
allowed_fails: 5
fail_timeout: 60
配置了 allowed_fails 后,主模型连续失败 5 次,Proxy 会自动把后续请求全部切到备用模型。60 秒后恢复探测。
五、监控面板和成本统计
LiteLLM Proxy 自带一个 Web 管理界面,访问 http://localhost:4000 就能看到:
- 每个模型的调用次数和延迟
- 实时 Token 消耗统计
- 错误率监控
- 各模型的响应时间分布
你也可以通过 API 查询详细日志:
curl http://localhost:4000/health
curl http://localhost:4000/ping
配合 Grafana + Prometheus 做长期监控也很方便。LiteLLM 内置了 Prometheus metrics 端点,加一行配置就行:
litellm_settings:
telemetry: false
set_metrics_provider: "prometheus"
六、生产环境部署建议
Docker 一键部署
FROM python:3.11-slim
RUN pip install litellm[proxy]
COPY config.yaml /app/config.yaml
WORKDIR /app
CMD ["litellm", "--config", "config.yaml", "--port", "4000"]
docker build -t litellm-proxy .
docker run -p 4000:4000 litellm-proxy
安全加固
生产环境一定要做这些:
- 设置 API Key 白名单。在 config.yaml 里配置
general_settings.default_api_key - 启用 HTTPS。用 Nginx 反代,加 Let’s Encrypt 证书
- 限制并发数。配置
max_concurrent_requests防止过载 - 定期轮换密钥。所有 API Key 存在环境变量里,不要硬编码
关键配置清单
general_settings:
master_key: sk-master-key-change-this
proxy_budget_refresh_min_seconds: 60
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: ${OPENAI_API_KEY}
min_latency: 0.5
max_latency: 10.0
max_requests_per_minute: 100
七、LiteLLM 适合什么场景
团队多人共用 API Key。把 Key 存在 Proxy 上,团队成员只拿 Proxy 地址,不用各自存 Key。
模型对比测试。同一批 prompt 同时发给 GPT、Claude、Gemini,直接比输出质量。
灰度发布。新版本 prompt 先走 10% 的流量到新模型,效果不好随时切回来。
成本优化。简单任务走便宜模型,复杂任务走高配模型,自动分流。
总结
LiteLLM Proxy 解决了一个很实际的问题——多模型调用的碎片化。搭好之后,你的代码不需要因为换模型而改动一行。
它的优势很明显:统一接口、智能路由、成本可控、自带监控。对于任何需要接入多个 LLM 的团队来说,值得花 10 分钟搭建试试。
你现在用的是哪个模型?有没有被 API 格式差异折磨过?