LiteLLM
用 LiteLLM Python SDK 呼叫 HopBase,或在 LiteLLM Proxy 的 config.yaml 裡把請求路由到 HopBase。
LiteLLM 為多家模型供應商提供統一介面,既可以作為 Python SDK(litellm.completion)使用,也可以作為自架的代理伺服器使用。HopBase 以 OpenAI 相容 provider 的身分接入兩者:模型 ID 前加 openai/,再設定 api_base。
| 設定項 | 值 |
|---|---|
model | openai/<HopBase 模型 ID>,例如 openai/deepseek-v4.1-flash-1017 |
api_base | https://api.hop-base.com/v1 |
api_key | 控制台建立的金鑰 |
已在生產環境用 LiteLLM 1.106 實測:litellm.completion 一般呼叫與 stream=True 串流呼叫,以及 LiteLLM Proxy 的一般請求與串流請求均正常。
HopBase 的金鑰只能呼叫它所含分組裡的模型。在控制台建立金鑰時,選中提供目標模型的分組——例如 deepseek-v4.1-flash-1017 選DeepSeek,deepseek-v4.1-flash-1017-sg 選DeepSeek 新加坡機房,gemini-3.8-flash 選Gemini 全系(含生圖)。金鑰不含該模型所在分組時會回傳 404 model_not_found。
openai/ 前綴只告訴 LiteLLM 用哪種協議,發送請求前會被去掉,HopBase 收到的是原樣模型 ID。
Python SDK
pip install litellm
export HOPBASE_API_KEY=sk-your-keyimport os
import litellm
response = litellm.completion(
model="openai/deepseek-v4.1-flash-1017",
api_base="https://api.hop-base.com/v1",
api_key=os.environ["HOPBASE_API_KEY"],
messages=[{"role": "user", "content": "Reply with one word: hello."}],
)
print(response.choices[0].message.content)串流呼叫參數相同,再加 stream=True:
stream = litellm.completion(
model="openai/deepseek-v4.1-flash-1017",
api_base="https://api.hop-base.com/v1",
api_key=os.environ["HOPBASE_API_KEY"],
messages=[{"role": "user", "content": "Count from 1 to 5."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")LiteLLM Proxy
在 config.yaml 裡把用戶端要呼叫的每個名稱對應到一個 HopBase 模型:
model_list:
- model_name: deepseek-v4.1-flash-1017
litellm_params:
model: openai/deepseek-v4.1-flash-1017
api_base: https://api.hop-base.com/v1
api_key: os.environ/HOPBASE_API_KEY
general_settings:
master_key: os.environ/LITELLM_MASTER_KEYos.environ/HOPBASE_API_KEY 讓代理從環境變數讀取 HopBase 金鑰。新版 LiteLLM 沒有 master_key 時拒絕啟動;它是你自己的用戶端呼叫代理時使用的金鑰,與 HopBase 金鑰無關。
pip install 'litellm[proxy]'
export HOPBASE_API_KEY=sk-your-key
export LITELLM_MASTER_KEY=sk-your-proxy-key
litellm --config config.yaml --port 4000然後像呼叫任何 OpenAI 相容入口一樣呼叫代理:
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v4.1-flash-1017", "messages": [{"role": "user", "content": "Reply with one word: hello."}]}'要開放更多模型,每個模型 ID 在 model_list 裡加一條,例如 openai/deepseek-v4.1-flash-1017-sg 或 openai/gemini-3.8-flash,並確保金鑰包含提供它的分組。
各模型價格見價格頁。
常見問題
| 現象 | 原因 |
|---|---|
AuthenticationError / 401 | 執行 LiteLLM 的環境裡沒有設定 HopBase 金鑰,或金鑰已停用 |
404 model_not_found | 金鑰不含該模型所在分組,或 openai/ 後面的 ID 寫簡了。重新查看 GET /v1/models |
LLM Provider NOT provided | 模型 ID 缺少 openai/ 前綴 |
| 代理啟動時退出並提示 no master key is set | 新增 general_settings.master_key 或設定 LITELLM_MASTER_KEY |
下一步
- 可用模型:查看一把金鑰能用的模型 ID
- OpenAI SDK:用官方 SDK 呼叫同一個入口
- 報錯速查:依錯誤訊息排查