LiteLLM 配置第三方中轉站完整教程: 5 步接入 API易

如何讓 LiteLLM 同時調度 OpenAI、Claude、Gemini、DeepSeek 等多家大模型,又不被海外賬號、網絡、支付等問題卡住?答案就是把 LiteLLM 接到一個 OpenAI 兼容的第三方中轉站。本文將以 LiteLLM + API易 apiyi.com 爲例,手把手教你完成配置。

核心價值: 讀完本文,你將掌握 LiteLLM 配置第三方中轉站的 3 種主流方式(SDK、Proxy YAML、環境變量),並能夠在 5 分鐘內完成 API易 接入。

litellm-configure-third-party-api-relay-tutorial-apiyi-zh-hant 图示

LiteLLM 配置第三方中轉站 核心要點

LiteLLM 是一個開源的 LLM 網關 / SDK,目標是用 OpenAI 兼容格式調用 100+ 家大模型。它本身就支持任意"OpenAI 兼容"的端點,只需要把 api_base 指向中轉站、api_key 換成中轉站頒發的 Key 即可。API易 apiyi.com 正是一個標準的 OpenAI 兼容中轉,所以兩者天然契合。

要點 說明 價值
OpenAI 兼容協議 LiteLLM 通過 openai/ 前綴路由到 OpenAI 客戶端 一行配置接入任何中轉站
三種配置方式 SDK 內聯 / Proxy YAML / 環境變量 適配腳本、生產、CLI 三種場景
統一模型命名 openai/<provider-model> 或自定義 model_name 上層代碼無需感知底層切換
錯誤排查關鍵 base_url 必須以 /v1 結尾 90% 的 404 報錯來自這裏
Fallback 與負載均衡 YAML 模式支持多渠道與失敗回退 生產環境可用性最大化

LiteLLM 配置第三方中轉站重點詳解

LiteLLM 官方文檔明確說明:只要在 model 名前加 openai/ 前綴,並指定 api_base,LiteLLM 就會用 openai 客戶端去訪問你的端點。這意味着無論中轉站後面接的是 GPT-5、Claude Opus 4.6、Gemini 3 Pro 還是 DeepSeek,對 LiteLLM 來說都是"一個 OpenAI 端點"。

API易 apiyi.com 的 base_url 爲 https://api.apiyi.com/v1,遵循標準的 /v1/chat/completions/v1/embeddings/v1/images/generations 規範,因此與 LiteLLM 完美兼容,無需任何 patch。

litellm-configure-third-party-api-relay-tutorial-apiyi-zh-hant 图示

LiteLLM 配置第三方中轉站 快速上手

準備工作

在開始之前,請準備好:

  1. API易 API Key: 在 apiyi.com 註冊後,控制檯中創建一個新的 Key(建議起名 litellm-prod
  2. base_url: https://api.apiyi.com/v1 (注意結尾必須有 /v1
  3. Python 環境: Python 3.9+
  4. 安裝依賴: pip install litellm

極簡示例:SDK 內聯配置

最快的接入方式是在代碼裏直接傳入 api_keyapi_base

import litellm

response = litellm.completion(
    model="openai/gpt-5",                              # 關鍵:openai/ 前綴
    api_key="YOUR_APIYI_KEY",
    api_base="https://api.apiyi.com/v1",               # API易 中轉站地址
    messages=[
        {"role": "user", "content": "用一句話介紹 LiteLLM"}
    ],
)

print(response.choices[0].message.content)

💡 建議: 通過 API易 apiyi.com 控制檯獲取測試額度後,你可以把 gpt-5 換成 claude-opus-4-6gemini-3-pro 等模型名,無需修改任何其他代碼 —— 這就是 OpenAI 兼容協議的最大價值。

查看完整可運行示例 (含錯誤處理與流式輸出)
import os
import litellm
from litellm import completion

# 推薦通過環境變量管理密鑰
os.environ["OPENAI_API_KEY"] = "YOUR_APIYI_KEY"
os.environ["OPENAI_API_BASE"] = "https://api.apiyi.com/v1"

litellm.set_verbose = False  # 調試時改爲 True

def chat_with_apiyi(model: str, prompt: str, stream: bool = False):
    """通過 LiteLLM + API易 調用任意 OpenAI 兼容模型"""
    try:
        response = completion(
            model=f"openai/{model}",
            messages=[{"role": "user", "content": prompt}],
            stream=stream,
            temperature=0.7,
            max_tokens=1024,
        )
        if stream:
            for chunk in response:
                delta = chunk.choices[0].delta.content or ""
                print(delta, end="", flush=True)
            print()
        else:
            return response.choices[0].message.content
    except Exception as e:
        print(f"調用失敗: {e}")
        return None

if __name__ == "__main__":
    # 非流式
    print(chat_with_apiyi("gpt-5", "解釋什麼是 LLM 網關"))
    # 流式
    chat_with_apiyi("claude-opus-4-6", "用 100 字介紹 LiteLLM 的優勢", stream=True)

Proxy YAML 配置:生產推薦

如果你要把 LiteLLM 跑成一個獨立服務(端口 4000,給團隊複用),推薦使用 YAML 模式。新建 litellm_config.yaml

model_list:
  - model_name: gpt-5                       # 對外暴露的模型名
    litellm_params:
      model: openai/gpt-5                   # openai/ 前綴,路由到 OpenAI 客戶端
      api_base: https://api.apiyi.com/v1    # API易 中轉地址
      api_key: os.environ/APIYI_KEY         # 引用環境變量

  - model_name: claude-opus-4-6
    litellm_params:
      model: openai/claude-opus-4-6
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  - model_name: gemini-3-pro
    litellm_params:
      model: openai/gemini-3-pro
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

litellm_settings:
  drop_params: true                          # 自動丟棄模型不支持的參數
  num_retries: 2                             # 單次調用重試次數

router_settings:
  fallbacks:
    - gpt-5: ["claude-opus-4-6", "gemini-3-pro"]

啓動 Proxy:

export APIYI_KEY=sk-xxxxxxxxxxxxxxxx
litellm --config ./litellm_config.yaml --port 4000

之後任意 OpenAI SDK 都能通過 http://localhost:4000 調用:

from openai import OpenAI

client = OpenAI(
    api_key="any-string",                    # LiteLLM Proxy 不校驗內容(除非配 master_key)
    base_url="http://localhost:4000",
)

resp = client.chat.completions.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "Hello via LiteLLM Proxy"}]
)
print(resp.choices[0].message.content)

🎯 生產建議: 我們建議在 LiteLLM Proxy 前面加一層 master_key,並把所有底層模型統一接到 API易 apiyi.com,這樣你的應用層只看到 gpt-5 / claude-opus-4-6 這種"語義模型名",底層的渠道、計費、限速全部由 API易 + LiteLLM 兩層處理,做到上層零感知。

環境變量模式:CLI 與腳本最爽

對一次性腳本和命令行工具,最簡單的方式是直接走環境變量。LiteLLM 會自動識別 OPENAI_API_KEYOPENAI_API_BASE

export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
export OPENAI_API_BASE=https://api.apiyi.com/v1

之後所有 openai/ 前綴的調用都會走 API易:

import litellm
print(litellm.completion(
    model="openai/gpt-5",
    messages=[{"role": "user", "content": "ping"}]
).choices[0].message.content)

LiteLLM 配置第三方中轉站 三種方式對比

不同場景下,三種配置方式的取捨並不一樣。下表給出明確的選擇建議。

litellm-configure-third-party-api-relay-tutorial-apiyi-zh-hant 图示

維度 SDK 內聯 Proxy YAML 環境變量
上手難度 ⭐ 最低 ⭐⭐⭐ 中等 ⭐ 最低
適用場景 單腳本、Notebook 團隊共享、生產服務 CLI 工具、CI
是否獨立進程 是(端口 4000)
多模型管理 手動維護變量 集中 YAML 管理 僅單組憑證
Fallback 支持 需要手寫 try/except ✅ 內置 ❌ 無
密鑰安全性 易硬編碼(不推薦) ✅ 引用 env ✅ 走 env
推薦度 原型階段 生產部署 個人腳本

💡 選擇建議: 個人開發可以直接環境變量;團隊和生產強烈建議 Proxy YAML 模式,因爲它把"模型路由 + Fallback + 限速 + 統計"都在一個文件裏管理。無論選哪種,底層渠道接到 API易 apiyi.com 這一層是不變的,你只需要維護一個 API Key。

LiteLLM + API易 多模型路由實戰

LiteLLM Proxy 模式真正強大的地方,是用同一份 YAML 完成"語義模型名 → 實際渠道"的映射。下面給出一個生產可用的最小路由配置。

litellm-configure-third-party-api-relay-tutorial-apiyi-zh-hant 图示

# litellm_config.yaml - 生產路由示例
model_list:
  # 主力推理模型
  - model_name: smart
    litellm_params:
      model: openai/gpt-5
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY
      timeout: 60

  - model_name: smart
    litellm_params:
      model: openai/claude-opus-4-6
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY
      timeout: 60

  # 廉價快速模型
  - model_name: fast
    litellm_params:
      model: openai/gpt-5-mini
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  # 視覺/多模態
  - model_name: vision
    litellm_params:
      model: openai/gemini-3-pro
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  # Embedding
  - model_name: embed
    litellm_params:
      model: openai/text-embedding-3-large
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

litellm_settings:
  drop_params: true
  num_retries: 2
  request_timeout: 60

router_settings:
  routing_strategy: simple-shuffle           # 同名模型輪詢
  fallbacks:
    - smart: ["fast"]                        # smart 失敗時降級到 fast

general_settings:
  master_key: sk-litellm-master-xxxx         # 客戶端必須攜帶此 Key

應用層只看到 smart / fast / vision / embed 四個語義化名字。當 GPT-5 限流時,LiteLLM 會自動切換到 Claude Opus 4.6(因爲它們都註冊爲 smart),再失敗時降級到 fast。所有底層流量都經過 API易 apiyi.com 統一計費和監控,完美隔離上層與渠道層。

LiteLLM 配置第三方中轉站 常見問題

Q1: 爲什麼我配了 base_url 還是報 404 Not Found?

90% 的情況是 api_base 結尾少了 /v1。LiteLLM 內部用的是 OpenAI 客戶端,它會自動拼接 /chat/completions,所以你的 api_base 必須是 https://api.apiyi.com/v1 而不是 https://api.apiyi.com。也不要寫成 https://api.apiyi.com/v1/chat/completions,那樣會被拼成兩次。

Q2: 爲什麼必須給模型加 openai/ 前綴?

LiteLLM 內部維護了一張 provider 路由表。openai/ 前綴告訴 LiteLLM "請用 OpenAI 客戶端去訪問這個端點"。如果不加前綴,LiteLLM 可能會嘗試匹配它內置的 provider(比如 claude-opus-4-6 會被識別成 Anthropic 原生 API),從而走錯協議。接中轉站時,永遠加 openai/ 前綴

Q3: 一個 API易 Key 能否同時調用多個模型?

可以。API易 apiyi.com 的單個 Key 默認就支持平臺所有可用模型,包括 GPT-5、Claude Opus 4.6、Gemini 3 Pro、DeepSeek、Qwen 等。這正是它和官方 API 的核心區別 —— 你只需要維護一個 Key 和一個 base_url,就能在 LiteLLM YAML 裏掛載幾十個模型。

Q4: LiteLLM Proxy 啓動後,如何確認中轉鏈路是通的?

最快的方式是用 curl 直接打 LiteLLM Proxy:

curl http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-litellm-master-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "smart",
    "messages": [{"role": "user", "content": "ping"}]
  }'

返回 200 + JSON 即說明 應用 → LiteLLM Proxy → API易 整條鏈路通暢。如果失敗,先看 LiteLLM 控制檯日誌,再用相同的 base_url + key 直接打 API易,二分定位問題層。

Q5: 流式輸出 (stream) 在中轉場景下需要額外配置嗎?

不需要。API易 apiyi.com 完整支持 SSE 流式響應,LiteLLM 默認透傳。你只要在 completion() 調用時加 stream=True,或者在 OpenAI SDK 調用 Proxy 時加 stream=True,就能拿到逐 token 的輸出。

Q6: 能否同時把 Embedding 和圖片生成也接上?

可以。API易 apiyi.com 同時支持 /v1/embeddings/v1/images/generations/v1/audio/transcriptions,全部走同一個 base_url 和 Key。在 LiteLLM YAML 裏只需要把對應模型加到 model_list 即可,例如 text-embedding-3-largegpt-image-1whisper-1,使用方式與對話模型完全一致,詳見上一節的生產路由示例。

總結

LiteLLM 配置第三方中轉站,本質上只是三件事:

  1. 協議對齊: 給 model 加 openai/ 前綴,告訴 LiteLLM 走 OpenAI 客戶端協議
  2. 入口對齊: api_base 指向中轉站根路徑 + /v1,例如 https://api.apiyi.com/v1
  3. 憑證對齊: 把中轉站頒發的 Key 通過 api_key 或環境變量傳入

完成這三步,LiteLLM 的所有功能(多模型路由、Fallback、限速、計費、Logging)都可以無縫疊加在一個穩定的中轉站之上。

🚀 行動建議: 如果你正在爲團隊搭建一套統一的 LLM 網關,我們建議採用「應用 → LiteLLM Proxy → API易 apiyi.com」的三層架構。LiteLLM 負責路由與 Fallback,API易 負責底層模型接入、穩定性和按量計費,你只需要管一個 YAML 和一個 Key。在 apiyi.com 註冊即可獲取測試額度,5 分鐘內完成首次調用。


作者: APIYI Team — 專注於爲開發者提供主流 AI 大模型的穩定接入,訪問 apiyi.com 瞭解更多。

參考資料

  1. LiteLLM 官方文檔 – OpenAI 兼容端點

    • 鏈接: docs.litellm.ai/docs/providers/openai_compatible
    • 說明: SDK 與 Proxy YAML 的官方示例
  2. LiteLLM Proxy 配置總覽

    • 鏈接: docs.litellm.ai/docs/proxy/configs
    • 說明: model_list、router_settings、fallbacks 完整字段
  3. LiteLLM GitHub 倉庫

    • 鏈接: github.com/BerriAI/litellm
    • 說明: 源碼、Issue、最新版本
  4. daily_stock_analysis – LLM_CONFIG_GUIDE

    • 鏈接: github.com/ZhuLinsen/daily_stock_analysis/blob/main/docs/LLM_CONFIG_GUIDE.md
    • 說明: 三種配置模式與多渠道實戰參考
  5. API易 官方文檔

    • 鏈接: apiyi.com
    • 說明: 支持模型清單、base_url 與 Key 管理

Similar Posts