|

理解 LiteLLM 統一網關的 5 個核心概念:新人必讀的 AI Agent 基礎設施指南

你有沒有遇到過這樣的煩惱:項目裏同時用了 OpenAI 的 GPT、Anthropic 的 Claude、Google 的 Gemini,每個模型的 SDK 不一樣,API 格式不一樣,連錯誤處理方式都不一樣?改一次模型,代碼要改一大片?

這就是 LiteLLM 要解決的問題。簡單說,LiteLLM 就是 AI 大模型的「萬能翻譯器」——你只需要學會一種調用方式(OpenAI 格式),它幫你翻譯成 100 多個模型廠商各自的 API 格式。

核心價值: 讀完本文,你將理解 LiteLLM 是什麼、爲什麼 AI Agent 框架都在用它、以及如何在 5 分鐘內上手使用。

litellm-beginner-guide-unified-api-gateway-ai-agent-tutorial-zh-hant 图示

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 提供兩種使用模式,適合不同場景。理解這兩種模式的區別,是選擇正確使用方式的關鍵。

litellm-beginner-guide-unified-api-gateway-ai-agent-tutorial-zh-hant 图示

模式一: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(智能代理)在執行任務時,經常需要:

  1. 調用不同模型:簡單任務用便宜的小模型,複雜推理用大模型
  2. 自動降級:主力模型限速或宕機時,自動切換到備用模型
  3. 控制成本:多個 Agent 並行運行,需要統一追蹤和限制 Token 開銷
  4. 團隊協作:不同開發者的 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 通常這樣工作:

  1. 規劃 Agent → 調用 Claude Opus(強推理模型)
  2. 執行 Agent → 調用 GPT-4o(均衡性能)
  3. 校驗 Agent → 調用 GPT-4o-mini(快速低成本)
  4. 總結 Agent → 調用 Gemini Flash(大上下文窗口)

所有 Agent 都通過同一個 LiteLLM Proxy 端點調用,Proxy 自動路由到正確的後端模型。管理員通過 Dashboard 統一查看所有 Agent 的 Token 用量和費用。

litellm-beginner-guide-unified-api-gateway-ai-agent-tutorial-zh-hant 图示

🎯 技術建議: 在生產環境的多 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 中配置 Fallbackconfig.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
Google 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-beginner-guide-unified-api-gateway-ai-agent-tutorial-zh-hant 图示

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

對於新人來說,記住這幾個要點:

  1. LiteLLM 是「翻譯器」:幫你把統一格式的請求翻譯成各家模型的 API 格式
  2. 兩種模式:SDK(輕量 Python 包)和 Proxy(獨立網關服務器)
  3. 核心價值:統一接口 + Fallback + 負載均衡 + 費用追蹤
  4. Agent 框架標配:LangChain、CrewAI、AutoGen 等幾乎都支持 LiteLLM
  5. 完全開源免費:MIT 許可證,自部署無任何費用

如果你覺得自部署 LiteLLM Proxy 的運維成本較高,也可以直接使用 API易 apiyi.com 這類託管式統一接口服務,同樣實現一個 Key 調用所有主流模型的效果,省去部署和運維的負擔。


本文作者: APIYI 技術團隊
技術交流: 訪問 API易 apiyi.com 獲取更多 AI 模型調用教程和技術支持
更新日期: 2026 年 4 月
適用版本: LiteLLM v1.x+


參考資料:

  1. LiteLLM 官方文檔: docs.litellm.ai
  2. LiteLLM GitHub 倉庫: github.com/BerriAI/litellm
  3. LiteLLM 官網: litellm.ai
  4. BerriAI 官網: berri.ai

Similar Posts