LiteLLM 是一个 开源的 LLM 统一接口与网关软件**,可以用 OpenAI 的 API 格式调用上百家大模型,并提供代理网关、负载均衡、成本追踪、密钥管理等生产级能力。

一、LiteLLM 是什么?

LiteLLM 是由 BerriAI 开发的 开源 Python 库 + 自托管 LLM 网关,目标是让开发者只用一套 OpenAI 风格的 API,就能调用来自不同厂商的模型,包括 OpenAI、Anthropic、Google Gemini、AWS Bedrock、Azure、Ollama、本地 vLLM、自托管模型等。

它本质上是一个 “大模型通用翻译器 + 统一网关”

二、 LiteLLM 的核心功能

  • 统一 API 接口:所有模型都用 OpenAI 的 /chat/completions 格式调用。

  • 支持 100+~140+ 模型供应商、2500+ 模型(2026 年数据)。

  • 代理服务器(LLM Gateway):提供 UI、虚拟密钥、预算、速率限制、路由、日志等。

  • 负载均衡与故障切换:自动在多个模型间重试、fallback。

  • 成本追踪与预算管理:可限制每个 key 的费用、TPM/RPM。

  • 支持本地模型:如 Ollama、vLLM、自托管 Qwen/GLM。

三、LiteLLM 的两种使用方式

1) 作为 Python SDK

适合本地脚本、小型项目。

python

from litellm import completion
response = completion(    model="openai/gpt-4o",    messages=[{"role": "user", "content": "Hello"}]
)
2) 作为自托管 LLM 网关(推荐生产环境)
  • 提供 Web UI(默认端口 4000)

  • 管理 API Key、预算、模型路由

  • 类似 OneAPI,但功能更强

四、LiteLLM 的典型用途

  • 统一管理多个模型供应商

  • 在 OpenAI、Claude、Gemini、DeepSeek 等之间自动切换

  • 企业内部搭建统一 LLM 网关

  • 为应用提供统一的 API 接入点

  • 本地模型 + 云模型混合部署**

五、LiteLLM 与其他网关的对比(简表)

网关 覆盖模型 优势 适用场景
LiteLLM 140+ 供应商 / 2500+ 模型 功能最全、OpenAI 兼容、UI、预算、路由 需要统一管理多模型的团队
Bifrost (Go) 200+ 超低延迟 高并发、极低延迟场景
Cloudflare AI Gateway 中等 边缘部署 全球边缘推理

六、ECS + Docker 的标准部署架构

代码

ECS
│
├── Docker
│   ├── LiteLLM Proxy(4000)
│   ├── Postgres(5432)
│   └── Redis(可选)
│
└── Nginx(监听 80/443)
        ↓
   https://api.yourdomain.com
        ↓
   http://127.0.0.1:4000  → LiteLLM

关键点:

  • 4000 端口不暴露公网(安全组关闭)

  • Nginx 提供 HTTPS 域名

  • Postgres 提供虚拟密钥、日志、预算支持

七. docker-compose(生产可用)

yaml

services:
  litellm:
    image: ghcr.io/berriai/litellm:main-stable
    container_name: litellm
    ports:
      - "4000:4000"
    volumes:
      - ./config.yaml:/app/config.yaml:ro
    environment:
      - DATABASE_URL=postgresql://litellm:${DB_PASSWORD}@postgres:5432/litellm
      - LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
    depends_on:
      postgres:
        condition: service_healthy
    command: --config /app/config.yaml --port 4000

  postgres:
    image: postgres:14-alpine
    container_name: litellm-db
    environment:
      - POSTGRES_DB=litellm
      - POSTGRES_USER=litellm
      - POSTGRES_PASSWORD=${DB_PASSWORD}
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U litellm"]      interval: 5s
      retries: 5

八. 完整 config.yaml(GLM + MiniMax + Kimi + fallback + 路由)

yaml

#######################################################################
# LiteLLM 生产环境配置(GLM + MiniMax + Kimi + fallback + 路由)
#######################################################################

model_list:
  # --- GLM 主模型 ---
  - model_name: glm-4
    litellm_params:
      model: zhipu/glm-4
      api_key: os.environ/ZHIPU_API_KEY
      rpm: 200
      tpm: 200000

  # --- MiniMax ---
  - model_name: minimax-6.5s
    litellm_params:
      model: minimax/abab6.5s
      api_key: os.environ/MINIMAX_API_KEY
      rpm: 200
      tpm: 200000

  # --- Kimi ---
  - model_name: kimi-8k
    litellm_params:
      model: moonshot-v1-8k
      api_key: os.environ/KIMI_API_KEY
      rpm: 200
      tpm: 200000

# ===========================
# 路由(按模型名自动转发)
# ===========================
router:
  - model_name: glm
    routing_strategy: simple
    models:
      - glm-4

  - model_name: minimax
    routing_strategy: simple
    models:
      - minimax-6.5s

  - model_name: kimi
    routing_strategy: simple
    models:
      - kimi-8k

# ===========================
# Fallback(多级容灾)
# ===========================
fallbacks:
  glm-4:
    - kimi-8k

  minimax-6.5s:
    - glm-4
    - kimi-8k

  kimi-8k:
    - glm-4

# ===========================
# 全局设置
# ===========================
general_settings:
  master_key: ${LITELLM_MASTER_KEY}
  telemetry: false
  timeout: 60

# ===========================
# 数据库(虚拟密钥 / 日志 / 预算)
# ===========================
database_url: ${DATABASE_URL}

# ===========================
# 安全设置(限制可用模型)
# ===========================
security_settings:
  allowed_model_names:
    - glm-4
    - minimax-6.5s
    - kimi-8k
    - glm
    - minimax
    - kimi

九. 如何添加代理商模型(myproxy 示例)

LiteLLM 支持三类代理商:

① OpenAI 兼容代理商(最常见)

yaml

- model_name: myproxy
  litellm_params:
    model: openai/myproxy
    api_base: https://api.myproxy.com/v1
    api_key: os.environ/MYPROXY_API_KEY
    rpm: 200
    tpm: 200000

② LiteLLM 内置模型(如 Qwen/GLM/Kimi)

yaml

- model_name: myproxy
  litellm_params:
    model: qwen/qwen-max
    api_key: os.environ/MYPROXY_API_KEY

③ 完全自定义 API(custom_openai)

yaml

- model_name: myproxy
  litellm_params:
    model: custom_openai
    api_base: https://api.myproxy.com
    api_key: os.environ/MYPROXY_API_KEY

十. rpm / tpm 的含义

字段 含义 示例
rpm requests per minute,每分钟最大请求数 rpm: 200 → 每分钟最多 200 次请求
tpm tokens per minute,每分钟最大 Token 数 tpm: 200000 → 每分钟最多 20 万 token

LiteLLM 会自动节流,不会把超量请求打到代理商 API。

十一. 调用示例

bash

curl -X POST https://api.yourdomain.com/chat/completions \  -H "Authorization: Bearer sk-1234" \  -H "Content-Type: application/json" \  -d '{    "model": "glm",    "messages": [{"role": "user", "content": "你好"}]  }'
Copyright © https://yan-jian.com 2023 - 2026 All Right Reserved all right reserved,powered by Gitbook更新时间: 2026-05-19 14:44:20

results matching ""

    No results matching ""