LiteLLM 使用介绍:功能、价格与上手指南
LiteLLM 是一个开源统一 LLM 调用层,支持 100+ 大模型 API 的统一格式调用、代理服务器、路由与成本追踪。本文覆盖其核心功能、代理与 SDK 用法、价格方案、快速上手步骤以及适用场景建议,帮助你用最低成本在多个模型之间灵活切换。
LiteLLM 是什么?
LiteLLM 是一个开源的统一大模型调用层,目标只有一个:让你用 OpenAI 兼容的格式 调用 100 多家模型提供商的 API,包括 OpenAI、Anthropic、Google Gemini、Azure、AWS Bedrock、Ollama、通义千问等。
简而言之,如果你的项目需要在多个模型之间切换,或者想避免被单一厂商绑定,LiteLLM 就是那个中间层。
它主要提供两种形态:
- Python SDK:在代码中直接
import litellm,用completion()统一调用。 - LiteLLM Proxy(AI Gateway):一个独立部署的代理服务,对外暴露 OpenAI 兼容接口,内置密钥管理、限流、预算和日志。
核心功能一览
1. 统一 API 格式
无论底层是 Anthropic 还是 Gemini,你只需要写 OpenAI 风格的请求:
from litellm import completion
resp = completion(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "用一句话解释什么是向量数据库"}]
)
print(resp.choices[0].message.content)
换成 Claude 只需把 model 改为 claude-3-5-sonnet,其余代码几乎不用动。
2. 代理服务器(Proxy)
Proxy 是团队协作场景下最有价值的部分,主要能力包括:
- 虚拟 API Key:给每个团队成员或项目分配独立 Key,可设预算与模型白名单。
- 负载均衡与路由:同一模型配置多个上游,自动重试与故障转移。
- 成本追踪:按 Key、按模型、按用户统计消费。
- 日志与可观测性:支持接入 Langfuse、Helicone 等工具。
3. 重试、回退与超时控制
只需在请求中加入 fallbacks、num_retries、timeout 参数,即可在某个厂商宕机时自动切到备用模型。
4. 成本与 Token 统计
LiteLLM 内置主流模型价格表,completion_cost() 可直接返回本次调用花费。
价格方案
LiteLLM 是开源项目,核心 SDK 与 Proxy 均可 免费自托管(MIT 许可)。同时官方提供企业版与云端托管:
| 方案 | 价格 | 适用场景 |
|---|---|---|
| 开源版(自托管) | 免费 | 个人开发者、中小团队 |
| 企业版 | 按需报价 | SSO、审计日志、SLA、专属支持 |
| 云端托管 | 按用量计费 | 不想自己运维 Proxy 的团队 |
需要注意的是:LiteLLM 本身不包含模型调用额度,模型费用仍由 OpenAI、Anthropic 等上游厂商收取。LiteLLM 的价值在于统一管理、降低切换成本和可观测性。
快速上手:3 步跑通
第 1 步:安装
pip install litellm
如需使用 Proxy:
pip install 'litellm[proxy]'
第 2 步:配置环境变量
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
第 3 步:启动 Proxy 并调用
新建 config.yaml:
model_list:
- model_name: gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
- model_name: claude
litellm_params:
model: anthropic/claude-3-5-sonnet-20241022
api_key: os.environ/ANTHROPIC_API_KEY
启动:
litellm --config config.yaml --port 4000
之后像调用 OpenAI 一样调用它:
curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"claude","messages":[{"role":"user","content":"你好"}]}'
适用场景与注意事项
推荐使用 LiteLLM 的场景:
- 需要在 2 个以上模型之间做 A/B 测试或降级切换。
- 团队多人共用 API Key,需要预算与权限隔离。
- 想统一记录调用日志、成本和延迟。
需要注意:
- LiteLLM 是中间层,会引入轻微网络延迟;对延迟极敏感的场景可考虑 SDK 直连。
- 各厂商能力不完全一致,函数调用、多模态等高级特性需确认是否被 LiteLLM 完整映射。
- 自托管 Proxy 要做好密钥安全与访问控制。
结论
LiteLLM 用一层统一抽象解决了多模型时代的核心痛点:接口不统一、成本不可见、切换成本高。对个人开发者,它能让代码更简洁;对团队,它是构建 LLM 网关的高性价比起点。建议先从 litellm SDK 小范围试用,再根据协作需求升级到 Proxy 部署。