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 调用同一个入口
- 报错速查:按错误信息排查