## 项目概述

LiteLLM 是一个开源 AI 网关，提供统一的接口来调用 100+ 个 LLM 提供商（如 OpenAI、Anthropic、Gemini、Bedrock、Azure 等），支持 OpenAI 格式。它既可以作为 Python SDK 直接集成，也可以作为集中式 AI 网关（代理服务器）部署，供团队或组织使用。项目采用 Rust 核心与 Python SDK，强调高性能（P95 延迟 8ms @ 1k RPS）和企业级特性。

## 核心功能

- **统一 API**：一个接口调用 100+ LLM，支持 `/chat/completions`、`/responses`、`/embeddings`、`/images`、`/audio`、`/batches`、`/rerank`、`/a2a`、`/messages` 等端点。
- **OpenAI 兼容**：可无缝切换提供商，无需重写代码。
- **AI 网关（代理服务器）**：提供虚拟密钥、成本追踪、护栏、负载均衡、管理仪表盘等生产级功能。
- **A2A 智能体支持**：支持调用 A2A 协议智能体（如 LangGraph、Vertex AI Agent Engine 等）。
- **MCP 网关**：连接 MCP 服务器到任意 LLM，支持通过 `/chat/completions` 调用 MCP 工具。
- **Python SDK**：直接集成到代码中，支持 Router 重试/回退、负载均衡、成本追踪、可观测性回调。
- **多提供商支持**：涵盖 Bedrock、Azure、OpenAI、Anthropic、VertexAI、vLLM、Nvidia NIM 等。

## 适用与不适用场景

**适用场景：**
- 需要统一管理多个 LLM 提供商的企业或团队。
- 希望以 OpenAI 格式调用不同模型，降低迁移成本。
- 需要集中式 API 网关，实现认证、成本控制、负载均衡和日志记录。
- 构建智能体或 MCP 工具，需要统一接入层。

**不适用场景：**
- 仅使用单一 LLM 提供商且无扩展需求的小型项目（可能引入额外复杂度）。
- 需要完全离线、无外部依赖的推理场景（LiteLLM 本身是网关，不提供模型推理）。
- 对延迟极度敏感且无法接受网关额外跳转的场景（尽管延迟很低，但仍有开销）。

## 技术架构与依赖

- **核心语言**：Rust（核心）与 Python（SDK）。
- **主要依赖**：Python SDK 依赖 `openai`、`anthropic` 等客户端库；代理服务器依赖 FastAPI、Prisma（数据库 ORM）、Redis 等。
- **部署组件**：支持 Docker、Helm、Terraform（AWS/GCP）等。
- **数据库**：PostgreSQL（生产环境推荐）、Redis（缓存）。
- **前端**：管理仪表盘基于 React（`ui/litellm-dashboard`）。
- **签名验证**：Docker 镜像使用 cosign 签名。

## 安装与快速开始

### Python SDK 安装

```bash
uv add litellm
```

### 快速开始（Python SDK）

```python
from litellm import completion
import os

os.environ["OPENAI_API_KEY"] = "your-openai-key"

response = completion(model="openai/gpt-4o", messages=[{"role": "user", "content": "Hello!"}])
```

### AI 网关（代理服务器）安装与启动

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

然后使用 OpenAI 客户端调用：

```python
import openai

client = openai.OpenAI(api_key="anything", base_url="http://0.0.0.0:4000")
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)
```

### Docker 部署

仓库资料未提供具体的 Docker 运行命令，但提供了 Dockerfile（如 `docker/Dockerfile.non_root`）和镜像签名验证方法。

## 典型使用方法

### 调用 A2A 智能体（Python SDK）

```python
from litellm.a2a_protocol import A2AClient
from a2a.types import SendMessageRequest, MessageSendParams
from uuid import uuid4

client = A2AClient(base_url="http://localhost:10001")

request = SendMessageRequest(
    id=str(uuid4()),
    params=MessageSendParams(
        message={
            "role": "user",
            "parts": [{"kind": "text", "text": "Hello!"}],
            "messageId": uuid4().hex,
        }
    )
)
response = await client.send_message(request)
```

### 通过网关调用 MCP 工具

```bash
curl -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
  -H 'Authorization: Bearer sk-1234' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Summarize the latest open PR"}],
    "tools": [{
      "type": "mcp",
      "server_url": "litellm_proxy/mcp/github",
      "server_label": "github_mcp",
      "require_approval": "never"
    }]
  }'
```

### 使用 Router 进行负载均衡

仓库资料未提供具体 Router 代码示例，但文档提到支持 Router 重试/回退。

## 配置与部署要点

- **环境变量**：需要设置各提供商 API 密钥（如 `OPENAI_API_KEY`）。
- **代理服务器配置**：通过 YAML 配置文件（如 `proxy_config.yaml`）或环境变量配置模型、密钥、数据库等。
- **生产部署**：推荐使用 Terraform 模块（AWS/GCP）或 Helm chart，组件化部署（网关、后端、UI 分离），使用托管 Postgres + Redis + 对象存储。
- **数据库迁移**：部署时需运行 `prisma migrate deploy`。
- **安全**：生产环境建议配置 ACM 证书（AWS）或 DNS 域名（GCP），避免明文 HTTP。
- **镜像签名验证**：使用 cosign 验证镜像签名，推荐使用固定 commit hash 的密钥。
- **稳定版本**：使用 `-stable` 标签的 Docker 镜像，经过 12 小时负载测试。

## 限制、风险与许可证

- **许可证**：仓库许可证字段为 `NOASSERTION`，但 README 提到存在 LiteLLM Commercial License（企业版），开源部分可能采用 MIT 或 Apache 2.0，具体需查看仓库 LICENSE 文件（仓库资料未提供）。
- **风险**：作为网关，可能引入单点故障；依赖外部 LLM 提供商，其 API 变更可能影响兼容性；企业版功能可能受商业许可限制。
- **限制**：不支持模型推理本身；需要网络连接访问 LLM 提供商；部分高级功能（如 SSO）可能仅限企业版。

## 官方链接

- GitHub 仓库：[https://github.com/BerriAI/litellm](https://github.com/BerriAI/litellm)
- 官方文档：[https://docs.litellm.ai](https://docs.litellm.ai)
- 官方网站：[https://www.litellm.ai](https://www.litellm.ai)
- 模型支持列表：[https://models.litellm.ai](https://models.litellm.ai)
- 最新版本：[v1.96.0](https://github.com/BerriAI/litellm/releases/tag/v1.96.0)

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、CONTRIBUTING.md、最新 Release 信息。
- 分析时间：2026-08-10（基于最新 Release 发布时间）。