本文へスキップ

LiteLLM

LiteLLM Python SDK から HopBase を呼び出す、または LiteLLM Proxy の config.yaml で HopBase にルーティングします。

LiteLLM は多数のモデルプロバイダーを 1 つのインターフェースで扱えるツールで、Python SDK(litellm.completion)としても、セルフホストのプロキシサーバーとしても使えます。HopBase はどちらにも OpenAI 互換プロバイダーとして接続します。モデル ID の前に openai/ を付け、api_base を設定してください。

設定値
modelopenai/<HopBase のモデル ID>。例:openai/deepseek-v4.1-flash-1017
api_basehttps://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-key
import 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_KEY

os.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 / 401LiteLLM を実行している環境で 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 を設定してください

次のステップ