你有沒有遇到過這樣的煩惱:項目裏同時用了 OpenAI 的 GPT、Anthropic 的 Claude、Google 的 Gemini,每個模型的 SDK 不一樣,API 格式不一樣,連錯誤處理方式都不一樣?改一次模型,代碼要改一大片?
這就是 LiteLLM 要解決的問題。簡單說,LiteLLM 就是 AI 大模型的「萬能翻譯器」——你只需要學會一種調用方式(OpenAI 格式),它幫你翻譯成 100 多個模型廠商各自的 API 格式。
核心價值: 讀完本文,你將理解 LiteLLM 是什麼、爲什麼 AI Agent 框架都在用它、以及如何在 5 分鐘內上手使用。

LiteLLM 是什麼:5 個核心概念
在開始使用之前,先用最通俗的方式理解 LiteLLM 的 5 個核心概念。這些概念搞清楚了,後續操作就水到渠成。
| 核心概念 | 通俗解釋 | 解決的問題 |
|---|---|---|
| 統一接口 | 所有模型用同一種方式調用 | 不用爲每個模型學一套 SDK |
| Provider(提供商) | OpenAI、Anthropic 等模型廠商 | 管理不同廠商的連接方式 |
| Fallback(故障轉移) | 模型 A 掛了自動切到模型 B | 保證服務不中斷 |
| Virtual Key(虛擬密鑰) | 給團隊成員發"子賬號" | 控制用量和預算 |
| Proxy(代理網關) | 獨立運行的中轉服務器 | 任何語言、任何工具都能接入 |
LiteLLM 解決了什麼痛點?
想象一下沒有 LiteLLM 的世界:
調用 OpenAI:
from openai import OpenAI
client = OpenAI(api_key="sk-xxx")
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}]
)
調用 Anthropic:
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-xxx")
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024, # Anthropic 必須指定
messages=[{"role": "user", "content": "你好"}]
)
調用 Google Gemini:
import google.generativeai as genai
genai.configure(api_key="AIza-xxx")
model = genai.GenerativeModel("gemini-2.0-flash")
response = model.generate_content("你好")
看到了嗎?三個模型,三套 SDK,三種寫法。如果你的項目要支持模型切換,代碼裏就到處是 if provider == "openai"... elif provider == "anthropic"... 的條件判斷。
有了 LiteLLM 之後:
import litellm
# 調用 OpenAI
response = litellm.completion(model="gpt-4o", messages=[{"role": "user", "content": "你好"}])
# 調用 Anthropic —— 同樣的寫法
response = litellm.completion(model="anthropic/claude-sonnet-4-6", messages=[{"role": "user", "content": "你好"}])
# 調用 Gemini —— 還是同樣的寫法
response = litellm.completion(model="gemini/gemini-2.0-flash", messages=[{"role": "user", "content": "你好"}])
一個 litellm.completion(),換個 model 參數就行了。LiteLLM 在背後自動完成格式轉換、參數適配、響應標準化。
🎯 技術建議: LiteLLM 的統一接口理念和 API易 apiyi.com 類似——都是一個接口調用多種模型。區別在於 LiteLLM 是開源自部署方案,API易 是無需部署的託管服務。可以根據團隊技術能力選擇適合的方案。
LiteLLM 兩種使用模式詳解
LiteLLM 提供兩種使用模式,適合不同場景。理解這兩種模式的區別,是選擇正確使用方式的關鍵。

模式一:Python SDK(輕量級)
直接在 Python 代碼中導入 litellm 包,像調用函數一樣使用。
適用場景:
- 個人開發者
- 純 Python 項目
- 快速原型驗證
- 不需要團隊管理功能
安裝:
pip install litellm
基本用法:
import litellm
import os
# 設置 API Key(通過環境變量)
os.environ["OPENAI_API_KEY"] = "sk-你的密鑰"
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-你的密鑰"
# 調用任意模型
response = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "解釋什麼是 API 網關"}]
)
print(response.choices[0].message.content)
模式二:Proxy Server(企業級網關)
作爲獨立服務器運行,對外暴露 OpenAI 兼容的 HTTP 接口。任何編程語言、任何工具,只要能發 HTTP 請求就能用。
適用場景:
- 團隊協作
- 多語言項目(Java、Go、Node.js 等)
- 需要費用追蹤和預算管理
- 需要爲不同團隊分配虛擬 Key
- 接入 AI Agent 框架
安裝和啓動:
# 安裝
pip install 'litellm[proxy]'
# 使用配置文件啓動
litellm --config config.yaml --port 4000
# 或用 Docker
docker run -p 4000:4000 \
-e OPENAI_API_KEY=sk-xxx \
ghcr.io/berriai/litellm:main-latest
啓動後,任何應用都可以像調用 OpenAI 一樣調用它:
from openai import OpenAI
# 把 base_url 指向 LiteLLM Proxy
client = OpenAI(
api_key="sk-你的虛擬Key",
base_url="http://localhost:4000/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}]
)
LiteLLM SDK 與 Proxy 模式對比
| 對比維度 | Python SDK | Proxy Server |
|---|---|---|
| 安裝方式 | pip install litellm |
pip install 'litellm[proxy]' 或 Docker |
| 調用方式 | Python 函數調用 | HTTP API(任何語言) |
| 配置方式 | 代碼中設置 | config.yaml 配置文件 |
| 虛擬 Key 管理 | 不支持 | 支持,可設預算上限 |
| Web 管理面板 | 無 | 有,可視化管理 |
| 團隊管理 | 不支持 | 支持用戶/團隊/預算 |
| 費用追蹤 | 基礎(代碼級) | 完整(數據庫持久化) |
| 部署複雜度 | 零部署 | 需要服務器運維 |
| 適合人羣 | 個人開發者 | 團隊/企業 |
💡 選擇建議: 如果你是個人開發者做原型驗證,SDK 模式 5 分鐘就能跑起來。如果是團隊使用或生產環境,Proxy 模式更合適。當然,如果不想自己部署和維護服務器,也可以直接使用 API易 apiyi.com 這類託管式統一接口服務,開箱即用。
LiteLLM 快速上手教程
以下是從零開始使用 LiteLLM 的完整步驟。
LiteLLM SDK 模式快速上手
第 1 步:安裝
pip install litellm
第 2 步:設置環境變量
# macOS / Linux
export OPENAI_API_KEY="sk-你的密鑰"
export ANTHROPIC_API_KEY="sk-ant-你的密鑰"
# Windows
set OPENAI_API_KEY=sk-你的密鑰
第 3 步:編寫代碼
import litellm
# 基礎調用
response = litellm.completion(
model="gpt-4o",
messages=[
{"role": "system", "content": "你是一個技術助手"},
{"role": "user", "content": "什麼是 LLM 網關?"}
],
temperature=0.7
)
print(response.choices[0].message.content)
print(f"Token 用量: {response.usage.total_tokens}")
print(f"預估費用: ${response._hidden_params.get('response_cost', 'N/A')}")
查看完整代碼:帶 Fallback 和流式輸出
import litellm
import os
os.environ["OPENAI_API_KEY"] = "sk-你的密鑰"
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-你的密鑰"
# 帶 Fallback 的調用:GPT-4o 失敗自動切到 Claude
response = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "解釋 RESTful API"}],
fallbacks=["anthropic/claude-sonnet-4-6"],
num_retries=2
)
# 流式輸出
stream = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "寫一首關於編程的詩"}],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
LiteLLM Proxy 模式快速上手
第 1 步:創建配置文件 config.yaml
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
- model_name: claude-sonnet
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: gemini-flash
litellm_params:
model: gemini/gemini-2.0-flash
api_key: os.environ/GEMINI_API_KEY
litellm_settings:
drop_params: true
num_retries: 3
general_settings:
master_key: sk-my-master-key
第 2 步:啓動 Proxy
litellm --config config.yaml --port 4000
第 3 步:使用標準 OpenAI SDK 調用
from openai import OpenAI
client = OpenAI(
api_key="sk-my-master-key",
base_url="http://localhost:4000/v1"
)
# 調用 GPT-4o(通過 LiteLLM Proxy)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
也可以用 cURL 直接調用:
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer sk-my-master-key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet",
"messages": [{"role": "user", "content": "Hello"}]
}'
🚀 快速開始: LiteLLM Proxy 需要自己管理服務器和 API Key。如果你希望免部署直接使用統一接口,可以試試 API易 apiyi.com,同樣支持 OpenAI 兼容格式調用 100+ 模型,無需搭建任何基礎設施。
LiteLLM 在 AI Agent 中的核心作用
這是很多新人好奇的問題:爲什麼幾乎所有主流 AI Agent 框架都支持甚至推薦使用 LiteLLM?
爲什麼 AI Agent 需要 LiteLLM?
AI Agent(智能代理)在執行任務時,經常需要:
- 調用不同模型:簡單任務用便宜的小模型,複雜推理用大模型
- 自動降級:主力模型限速或宕機時,自動切換到備用模型
- 控制成本:多個 Agent 並行運行,需要統一追蹤和限制 Token 開銷
- 團隊協作:不同開發者的 Agent 共享 API 資源池
LiteLLM 完美解決了這些需求。它充當 Agent 和模型之間的「調度中心」。
LiteLLM 與主流 AI Agent 框架的集成
| Agent 框架 | 集成方式 | 典型用法 |
|---|---|---|
| LangChain / LangGraph | SDK 內置支持 | ChatLiteLLM 作爲 LLM 後端 |
| CrewAI | Proxy 連接 | 多 Agent 共享模型資源池 |
| AutoGen(微軟) | Proxy 連接 | 通過 OpenAI 兼容端點接入 |
| Dify | 自定義 Provider | 配置爲 OpenAI 兼容端點 |
| Open WebUI | Proxy 連接 | 後端 API 端點 |
| Aider | Proxy 連接 | 代碼生成 Agent 的模型層 |
| Continue.dev | Proxy 連接 | IDE 中的 AI 編碼助手後端 |
LiteLLM 在多 Agent 系統中的典型架構
在一個多 Agent 系統中,LiteLLM Proxy 通常這樣工作:
- 規劃 Agent → 調用 Claude Opus(強推理模型)
- 執行 Agent → 調用 GPT-4o(均衡性能)
- 校驗 Agent → 調用 GPT-4o-mini(快速低成本)
- 總結 Agent → 調用 Gemini Flash(大上下文窗口)
所有 Agent 都通過同一個 LiteLLM Proxy 端點調用,Proxy 自動路由到正確的後端模型。管理員通過 Dashboard 統一查看所有 Agent 的 Token 用量和費用。

🎯 技術建議: 在生產環境的多 Agent 系統中,LiteLLM Proxy 需要搭配 PostgreSQL 和 Redis 才能完整使用費用追蹤和緩存功能。如果你的團隊規模較小或不想運維額外基礎設施,API易 apiyi.com 提供類似的統一接口能力,且內置了費用追蹤和用量統計,無需額外部署數據庫。
LiteLLM 進階功能詳解
掌握了基礎用法之後,以下 3 個進階功能是生產環境中最常用的。
進階功能一:模型 Fallback(故障轉移)
當主力模型出現限速、超時或報錯時,LiteLLM 自動切換到備用模型,保證服務不中斷。
SDK 中配置 Fallback:
response = litellm.completion(
model="gpt-4o",
messages=messages,
fallbacks=["anthropic/claude-sonnet-4-6", "gemini/gemini-2.0-flash"],
num_retries=2
)
執行邏輯:先試 GPT-4o → 失敗則試 Claude Sonnet → 再失敗試 Gemini Flash。
Proxy 中配置 Fallback(config.yaml):
litellm_settings:
fallbacks:
- gpt-4o: [claude-sonnet, gemini-flash]
- claude-sonnet: [gpt-4o, gemini-flash]
進階功能二:負載均衡
同一個模型名稱配置多個後端部署,LiteLLM 自動分配請求。
model_list:
# 同一個模型名,兩個不同的後端
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_KEY_1
- model_name: gpt-4o
litellm_params:
model: azure/gpt-4o-deployment
api_key: os.environ/AZURE_KEY_1
api_base: https://my-azure.openai.azure.com
router_settings:
routing_strategy: least-busy # 最少繁忙優先
# 其他策略: simple-shuffle, latency-based
調用時只需指定 model="gpt-4o",LiteLLM 自動在 OpenAI 直連和 Azure 部署之間分流。
進階功能三:費用追蹤和虛擬 Key
生成虛擬 Key(Proxy 模式):
curl http://localhost:4000/key/generate \
-H "Authorization: Bearer sk-master-key" \
-H "Content-Type: application/json" \
-d '{
"max_budget": 50.0,
"budget_duration": "monthly",
"models": ["gpt-4o", "claude-sonnet"],
"metadata": {"user": "developer-01"}
}'
這會生成一個虛擬 Key,該 Key 每月最多花費 $50,只能調用 GPT-4o 和 Claude Sonnet。
費用追蹤:
LiteLLM 內置了各模型的價格表,每次 API 調用自動計算費用。在 Proxy 管理面板中可以查看:
- 按模型統計的總花費
- 按用戶/團隊的花費明細
- 按時間段的費用趨勢
- Token 用量統計
💰 成本優化: LiteLLM 的費用追蹤功能可以幫你發現哪些模型調用最費錢。配合 API易 apiyi.com 的定價優勢,同樣的模型調用可能獲得更優惠的價格,進一步降低 AI 應用的運營成本。
LiteLLM 支持的 100+ 模型 Provider 一覽
LiteLLM 支持的 Provider 數量非常龐大。以下是最常用的幾類:
| 類別 | Provider | 模型前綴 | 代表模型 |
|---|---|---|---|
| 商業大模型 | OpenAI | openai/ |
GPT-4o, GPT-4o-mini, o3 |
| Anthropic | anthropic/ |
Claude Opus 4, Sonnet 4, Haiku | |
gemini/ |
Gemini 2.0 Flash, Gemini 2.5 Pro | ||
| 雲平臺 | Azure OpenAI | azure/ |
Azure 部署的 GPT 系列 |
| AWS Bedrock | bedrock/ |
Bedrock 託管的 Claude/Llama | |
| Google Vertex AI | vertex_ai/ |
Vertex 託管的 Gemini | |
| 推理加速 | Groq | groq/ |
Llama 3.1 70B (超快推理) |
| Together AI | together_ai/ |
各類開源模型 | |
| Fireworks AI | fireworks_ai/ |
高性能推理 | |
| 本地部署 | Ollama | ollama/ |
本地運行的 Llama/Mistral |
| vLLM | openai/ (自定義 base) |
自託管推理引擎 | |
| 國產模型 | Deepseek | deepseek/ |
Deepseek Chat/Coder |
| 搜索增強 | Perplexity | perplexity/ |
Sonar Pro |
| 聚合平臺 | OpenRouter | openrouter/ |
各類模型 |
🎯 選擇建議: 模型選擇取決於具體場景。如果你不確定該用哪個模型,可以通過 API易 apiyi.com 平臺快速測試不同模型的效果,該平臺同樣支持上述大部分模型的 OpenAI 兼容接口調用。

LiteLLM 常見問題 FAQ
Q1: LiteLLM 和直接用 OpenAI SDK 有什麼區別?
OpenAI SDK 只能調用 OpenAI 的模型。LiteLLM 在 OpenAI SDK 的基礎上做了擴展,讓你用同樣的代碼格式調用 Anthropic、Google、Azure 等 100+ 個模型 Provider。如果你的項目只用 OpenAI 模型,直接用 OpenAI SDK 即可。但如果需要多模型支持、故障轉移或費用管控,LiteLLM 是更好的選擇。
Q2: LiteLLM 免費嗎?
LiteLLM 的核心功能完全開源免費(MIT 許可證)。但需要注意:LiteLLM 本身免費,但它調用的模型 API 是需要付費的。你需要自己從 OpenAI、Anthropic 等官方獲取 API Key 並支付模型調用費用。如果不想分別管理多個 API Key,也可以使用 API易 apiyi.com 等統一接口平臺來簡化密鑰管理。
Q3: LiteLLM Proxy 需要什麼服務器配置?
LiteLLM Proxy 本身很輕量,1 核 1G 內存的服務器就能跑。但如果需要完整功能(費用追蹤、虛擬 Key 管理),還需要 PostgreSQL 數據庫和 Redis。生產環境建議至少 2 核 4G + PostgreSQL + Redis。
Q4: LiteLLM 和 OpenRouter 有什麼區別?
最大的區別:LiteLLM 是開源自部署方案,OpenRouter 是託管服務。
- LiteLLM:免費,自己部署,自己管理 API Key,完全控制數據流向
- OpenRouter:即開即用,但在 API 調用價格上有加價,數據經過第三方
如果你重視數據隱私或有自己的 API Key,選 LiteLLM。如果想零部署快速使用,可以考慮 API易 apiyi.com 等託管方案。
Q5: LiteLLM 支持流式輸出(Streaming)嗎?
支持。無論是 SDK 還是 Proxy 模式,LiteLLM 都完整支持 SSE 流式輸出。所有 Provider 的流式響應都會被統一轉換爲 OpenAI 格式的 chunk,確保一致的流式體驗。
stream = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "寫一個故事"}],
stream=True
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
Q6: 新手應該選 SDK 模式還是 Proxy 模式?
如果你是 Python 開發者,剛開始學習,從 SDK 模式入手最簡單——pip install litellm 然後寫幾行代碼就能跑。等到需要團隊協作、多語言接入或生產部署時,再遷移到 Proxy 模式。兩種模式的核心調用方式是一致的,遷移成本很低。
Q7: LiteLLM 的 config.yaml 配置文件放在哪裏?
沒有固定位置。啓動 Proxy 時通過 --config 參數指定路徑即可:
litellm --config /path/to/your/config.yaml
一般建議放在項目根目錄或專門的配置目錄。如果用 Docker 部署,通過 volume 掛載進容器。
LiteLLM 快速決策指南
根據你的實際情況,選擇最合適的方案:
| 你的情況 | 推薦方案 | 理由 |
|---|---|---|
| 個人開發者,Python 項目 | LiteLLM SDK | 零部署,5 分鐘上手 |
| 團隊開發,需要預算管控 | LiteLLM Proxy | 虛擬 Key + 費用追蹤 |
| 不想自建基礎設施 | API易 apiyi.com | 託管服務,開箱即用 |
| 多 Agent 系統 | LiteLLM Proxy | 統一路由 + 負載均衡 |
| 只用 OpenAI 模型 | 直接用 OpenAI SDK | 無需額外層 |
| 注重數據隱私 | LiteLLM 自部署 | 數據不經過第三方 |
總結
LiteLLM 是 AI 應用開發中一個非常實用的基礎設施工具。它的核心價值就一句話:用一套 OpenAI 格式的代碼,調用 100+ 家模型廠商的 API。
對於新人來說,記住這幾個要點:
- LiteLLM 是「翻譯器」:幫你把統一格式的請求翻譯成各家模型的 API 格式
- 兩種模式:SDK(輕量 Python 包)和 Proxy(獨立網關服務器)
- 核心價值:統一接口 + Fallback + 負載均衡 + 費用追蹤
- Agent 框架標配:LangChain、CrewAI、AutoGen 等幾乎都支持 LiteLLM
- 完全開源免費:MIT 許可證,自部署無任何費用
如果你覺得自部署 LiteLLM Proxy 的運維成本較高,也可以直接使用 API易 apiyi.com 這類託管式統一接口服務,同樣實現一個 Key 調用所有主流模型的效果,省去部署和運維的負擔。
本文作者: APIYI 技術團隊
技術交流: 訪問 API易 apiyi.com 獲取更多 AI 模型調用教程和技術支持
更新日期: 2026 年 4 月
適用版本: LiteLLM v1.x+
參考資料:
- LiteLLM 官方文檔: docs.litellm.ai
- LiteLLM GitHub 倉庫: github.com/BerriAI/litellm
- LiteLLM 官網: litellm.ai
- BerriAI 官網: berri.ai
