LiteLLM
LiteLLM Python SDK から HopBase を呼び出す、または LiteLLM Proxy の config.yaml で HopBase にルーティングします。
LiteLLM は多数のモデルプロバイダーを 1 つのインターフェースで扱えるツールで、Python SDK(litellm.completion)としても、セルフホストのプロキシサーバーとしても使えます。HopBase はどちらにも OpenAI 互換プロバイダーとして接続します。モデル 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."}]}'モデルを追加で公開するには、openai/deepseek-v4.1-flash-1017-sg や openai/gemini-3.8-flash のようにモデル ID ごとに model_list へ 1 項目追加し、それぞれを提供するプランをキーに含めてください。
各モデルの価格は料金ページを参照してください。
トラブルシューティング
| 症状 | 原因 |
|---|---|
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 から同じエンドポイントを呼び出す
- トラブルシューティング:エラーメッセージから原因を調べる