Home
Login

統一 LLM API 調用閘道,支援 100+ 大語言模型供應商的 OpenAI 格式調用

NOASSERTIONPython 24.4kBerriAI Last Updated: 2025-06-21

LiteLLM - 統一大型語言模型 API 調用閘道

項目概述

LiteLLM 是一個開源的 Python SDK 和代理伺服器(LLM 網關),能夠以 OpenAI 格式調用 100 多個大型語言模型 API,包括 Bedrock、Azure、OpenAI、VertexAI、Cohere、Anthropic、Sagemaker、HuggingFace、Replicate、Groq 等主流提供商。

GitHub 地址:https://github.com/BerriAI/litellm

核心功能

1. 統一 API 格式

  • 輸入格式標準化:將所有提供商的輸入轉換為統一格式
  • 輸出格式一致性:文本響應始終可在 ['choices'][0]['message']['content'] 獲取
  • 多端點支持:支持 completion、embedding 和 image_generation 端點

2. 高可用性保障

  • 重試/回退邏輯:支持多個部署間的自動重試和回退(如 Azure/OpenAI)
  • 路由功能:智能路由到最佳可用模型
  • 負載均衡:在多個部署間分配請求負載

3. 成本和權限控制

  • 預算管理:按項目、API 密鑰、模型設置預算限制
  • 速率限制:防止 API 調用過度使用
  • 使用追蹤:詳細的調用統計和成本分析

主要特性

Python SDK 使用示例

基礎調用

from litellm import completion
import os


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

messages = [{"content": "Hello, how are you?", "role": "user"}]

# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)

# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)

異步調用支持

from litellm import acompletion
import asyncio

async def test_get_response():
    user_message = "Hello, how are you?"
    messages = [{"content": user_message, "role": "user"}]
    response = await acompletion(model="openai/gpt-4o", messages=messages)
    return response

response = asyncio.run(test_get_response())

流式響應

from litellm import completion

response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
    print(part.choices[0].delta.content or "")

代理伺服器功能

快速啟動

pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000

客戶端調用

import openai

client = openai.OpenAI(
    api_key="anything",
    base_url="http://0.0.0.0:4000"
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo", 
    messages=[{
        "role": "user",
        "content": "this is a test request, write a short poem"
    }]
)

支持的提供商

LiteLLM 支持超過 30 個主要的 LLM 提供商,包括:

主流雲服務商

  • OpenAI - GPT 系列模型
  • Azure - Azure OpenAI 服務
  • AWS - Bedrock 和 SageMaker
  • Google - Vertex AI、PaLM、Gemini
  • Anthropic - Claude 系列模型

開源和專業平台

  • HuggingFace - 開源模型託管
  • Replicate - 模型 API 服務
  • Together AI - 開源模型推理
  • Groq - 高速推理芯片
  • Ollama - 本地模型運行

特色功能平台

  • Cohere - 企業級 NLP
  • AI21 - Jurassic 模型
  • Perplexity - 搜索增強生成
  • DeepInfra - 高性能推理

可觀測性和日誌記錄

LiteLLM 內置支持多種監控和日誌平台:

import litellm
import os


os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"


litellm.success_callback = [
    "lunary", "mlflow", "langfuse", 
    "athina", "helicone"
]


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

支持的監控平台:

  • Lunary - LLM 應用監控
  • MLflow - 機器學習實驗追蹤
  • Langfuse - LLM 應用追蹤
  • Helicone - API 調用監控
  • Athina - AI 應用評估

企業級功能

密鑰管理系統


curl 'http://0.0.0.0:4000/key/generate' \
  --header 'Authorization: Bearer sk-1234' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "models": ["gpt-3.5-turbo", "gpt-4", "claude-2"], 
    "duration": "20m",
    "metadata": {
      "user": "user@company.com", 
      "team": "core-infra"
    }
  }'

Docker 部署


git clone https://github.com/BerriAI/litellm
cd litellm


echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env


docker-compose up

Web 管理界面

  • 訪問 /ui 獲得可視化管理界面
  • 設置多項目預算和速率限制
  • 實時監控 API 使用情況
  • 用戶和團隊管理

技術規範

系統要求

  • Python 版本:需要 Python 3.7+
  • 依賴要求
    • openai>=1.0.0(v1.0.0+ 必需)
    • pydantic>=2.0.0(v1.40.14+ 必需)

代碼質量標準

  • 代碼風格:遵循 Google Python 風格指南
  • 格式化工具:使用 Black 和 isort
  • 類型檢查:MyPy 和 Pyright
  • 代碼檢查:Ruff 進行 lint 檢查

穩定性保證

  • 穩定版本:使用帶 -stable 標籤的 Docker 鏡像
  • 負載測試:發布前進行 12 小時負載測試
  • 持續集成:完整的 CI/CD 流程

商業支持

企業版特性

  • 高級安全功能:單點登錄(SSO)集成
  • 專業支持:專用 Discord 和 Slack 支持
  • 自定義集成:定制化 LLM 提供商集成
  • SLA 保證:服務級別協議
  • 功能優先級:優先開發企業需求功能

社區支持

  • GitHub Issues:功能請求和問題報告
  • Discord 社區:實時交流和支持
  • 文檔完善:詳細的 API 文檔和教程

使用場景

1. 多雲 LLM 部署

  • 避免供應商鎖定
  • 實現跨平台模型調用
  • 降低遷移成本

2. 成本優化

  • 智能路由到最便宜的可用模型
  • 預算控制和使用監控
  • 批量 API 調用優化

3. 高可用架構

  • 自動故障轉移
  • 負載均衡
  • 多區域部署支持

4. 開發效率提升

  • 統一的 API 接口
  • 簡化的模型切換
  • 豐富的 SDK 支持

安裝和快速開始

基礎安裝

pip install litellm

代理伺服器安裝

pip install 'litellm[proxy]'

開發環境設置


git clone https://github.com/BerriAI/litellm
cd litellm


python -m venv .venv
source .venv/bin/activate


pip install -e ".[all]"


uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload

總結

LiteLLM 已被 Rocket Money、Samsara、Lemonade 和 Adobe 等知名公司採用。它通過提供統一的 API 接口、強大的路由功能和企業級管理特性,顯著簡化了多 LLM 環境的管理複雜性,是現代 AI 應用開發的理想選擇。