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. 重试、回退与超时控制

只需在请求中加入 fallbacksnum_retriestimeout 参数,即可在某个厂商宕机时自动切到备用模型。

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 部署。

返回 AI 教程列表