TL;DR

LiteLLM 是一个开源 AI Gateway,提供统一的 OpenAI 兼容接口调用 100+ LLM 提供商。它通过 Python SDK 和 Proxy Server 两种形态,解决了多模型接入时的碎片化问题,支持成本追踪、负载均衡和虚拟密钥管理。

它解决什么问题

LLM 生态极度碎片化,不同提供商(OpenAI, Anthropic, Bedrock等)拥有独立的 SDK、认证方式和 API 格式。开发者需要维护大量适配代码,且难以在模型间无缝切换或进行跨提供商的容错重试。LiteLLM 的出现旨在消除这种摩擦,提供“一次接入,处处可用”的基础设施层。

核心做法

架构上分为两部分: 1. Python SDK: litellm.completion 等函数将不同 provider 的请求标准化为 OpenAI format,支持自动重试、fallback 和成本追踪。 2. Proxy Server: 部署为中央网关,提供虚拟密钥(Virtual Keys)、多租户隔离、速率限制和 Admin Dashboard。底层使用 Rust 核心优化性能(P95延迟8ms),Python SDK 负责逻辑适配。

作者

Owner 为 BerriAI,一家 Y Combinator W23 孵化的初创公司。他们专注于构建 LLM Ops 基础设施,除了 LiteLLM 外还推出了托管版 Proxy Server。README 未提及具体核心贡献者姓名,但社区活跃度极高。

社区反应

GitHub Stars 60,696,Forks 12,193,属于顶级开源项目。然而 Open Issues 高达 5413,表明用户基数庞大且功能迭代快,但 Issue 积压严重。主语言 Python,但在 Rust 核心上投入精力以提升性能。Stripe, Netflix, Google ADK 等大厂采用,验证了其生产可用性。

怎么上手

依赖: Python 3.8+, uv (推荐) 或 pip。

SDK 模式:

uv add litellm
import os, litellm
os.environ["OPENAI_API_KEY"] = "..."
os.environ["ANTHROPIC_API_KEY"] = "..."
print(litellm.completion(model="anthropic/claude-3-opus", messages=[{"role": "user", "content": "Hi"}]))

Proxy 模式:

uv tool install 'litellm[proxy]'
litellm --model gpt-4o

访问 http://localhost:4000 即可使用 OpenAI SDK 连接。

争议与局限

  • Issue 积压: 5000+ Issues 暗示维护压力巨大,新功能可能伴随回归风险。
  • 复杂度: Proxy Server 配置项极多(Guardrails, Logging, Caching),对于简单场景可能过重。
  • Rust 集成: Rust 核心与 Python SDK 的边界处理(如 litellm-core)增加了构建和部署复杂度,README 明确警告两者不要混装。
  • 推断: 作为通用网关,所有请求经过中间层可能引入额外延迟(尽管声称8ms),且对私有模型微调后的特殊格式支持需手动适配。

相关项目

  • vLLM — vLLM 专注于高性能推理引擎,LiteLLM 是上层网关;两者常配合使用(vLLM作为后端)。
  • Ollama — Ollama 侧重本地单机模型运行与管理,LiteLLM 提供跨云/本地的统一 API 抽象。
  • LangChain — LangChain 是应用开发框架,LiteLLM 是其底层 LLM I/O 的替代或补充方案。
  • OpenRouter — OpenRouter 是商业聚合服务,LiteLLM 是其开源替代方案,允许自托管。