LiteLLMの機能
- SDKは、OpenAI形式であらゆるプロバイダーを呼び出せるPython関数
completion()1つだけです。モデル名のプレフィックスでプロバイダーが決まります。openai/は、OpenAI互換のあらゆるAPIを意味します。 - プロキシは、ご自身で運用するサーバーで、デフォルトでは
http://localhost:4000で動作します。アプリは OpenAI や Anthropic の形式でこのサーバーを呼び出し、プロバイダーの手前でキー、予算管理、ログ記録、フォールバックを追加します。
プロキシを設定する
- 仮想環境にインストールしてください。LiteLLM 1.106 には Python 3.10 以降が必要です。
python -m venv .venvsource .venv/bin/activate # Windows: .venv\Scripts\activatepip install "litellm[proxy]"- config.yaml を作成します。これは実際にテストしたファイルです。DeepSeek V4.1 Flash は OpenAI 互換エンドポイント経由、Claude Sonnet 5.5 は LiteLLM の Anthropic プロバイダー経由で使い、ワイルドカードを指定すると、それ以外のすべてのモデルを
zurelay/<model ID>として利用できます。model_infoの価格は Zurelay の現行価格です。
model_list: - model_name: deepseek-v4.1-flash litellm_params: model: openai/deepseek-v4.1-flash api_base: https://api.zurelay.com/v1 api_key: os.environ/ZURELAY_API_KEY use_chat_completions_api: true model_info: input_cost_per_token: 0.00000003 output_cost_per_token: 0.00000012 cache_read_input_token_cost: 0.00000000074 - model_name: claude-sonnet-5-5 litellm_params: model: anthropic/claude-sonnet-5-5 api_base: https://api.zurelay.com api_key: os.environ/ZURELAY_API_KEY model_info: input_cost_per_token: 0.00000079 output_cost_per_token: 0.00000395 cache_read_input_token_cost: 0.000000079 - model_name: zurelay/* litellm_params: model: openai/* api_base: https://api.zurelay.com/v1 api_key: os.environ/ZURELAY_API_KEY use_chat_completions_api: truelitellm_settings: use_chat_completions_url_for_anthropic_messages: true check_provider_endpoint: truegeneral_settings: master_key: os.environ/LITELLM_MASTER_KEY- 起動は、Zurelay のキーと独自のマスターキーを指定して行います。クライアントはマスターキーを送信します。LiteLLM では
sk-で始まるキーが必要です。
export ZURELAY_API_KEY="zr_live_..."export LITELLM_MASTER_KEY="sk-choose-a-long-random-key"litellm --config config.yaml- 呼び出しは、設定ファイルの
model_nameを使い、OpenAI 互換 API と同じ方法で行います。
curl http://localhost:4000/v1/chat/completions \ -H "Authorization: Bearer $LITELLM_MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "deepseek-v4.1-flash", "messages": [{"role": "user", "content": "Hello"}]}'または Python SDK を使う
プロキシを使わない場合は、呼び出しのたびにベース URL とキーを渡します。LiteLLM の anthropic/ プロバイダー経由で Claude を使うときのベース URL は https://api.zurelay.com で、/v1 は付けません。
import osfrom litellm import completionresponse = completion( model="openai/deepseek-v4.1-flash", api_base="https://api.zurelay.com/v1", api_key=os.environ["ZURELAY_API_KEY"], messages=[{"role": "user", "content": "Hello"}],)print(response.choices[0].message.content)claude = completion( model="anthropic/claude-sonnet-5-5", api_base="https://api.zurelay.com", api_key=os.environ["ZURELAY_API_KEY"], messages=[{"role": "user", "content": "Hello"}],)LiteLLM 経由で使う Claude Code
プロキシは Anthropic の Messages API も提供するため、Claude Code を設定内のどのモデルでも動かせます。Claude Code の接続先をプロキシにし、使用するモデルを指定します:
export ANTHROPIC_BASE_URL="http://localhost:4000"export ANTHROPIC_AUTH_TOKEN="$LITELLM_MASTER_KEY"export ANTHROPIC_MODEL="deepseek-v4.1-flash"export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-sonnet-5-5"export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4.1-flash"claudeClaude モデルだけなら LiteLLM は不要です。Claude Code の料金で説明しているとおり、Claude Code は Zurelay に直接接続できます。YAML ファイルではなく Web ページで操作するルーターをお探しなら、Claude Code Router をご覧ください。
問題の原因になった設定
- DeepSeek で Claude Code が失敗しました。エラーは
Unknown request URL: POST /v1/responsesです。openai/モデルでは、LiteLLM が Anthropic Messages リクエストを OpenAI の Responses API への呼び出しに変換しますが、Zurelay は Responses API を提供していません。1 回失敗すると LiteLLM はそのモデルをクールダウンに入れ、次のリクエストは429 No deployments available for selected modelになりました。litellm_settingsの下にuse_chat_completions_url_for_anthropic_messages: trueを設定すると、リクエストは代わりに Chat Completions に送られます。 - Responses API クライアントも同じように失敗しました。 プロキシの
/v1/responsesや SDK のlitellm.responses()へのリクエストは、モデルにuse_chat_completions_api: trueを設定するまで、そのまま上流に送られていました。 - ベース URL に /v1 を付けた Claude は
/v1/v1/messagesを呼び出し、404 になりました。anthropic/プロバイダーは/v1/messagesを自動で付加します。openai/モデルには/v1が必要です。 - ワイルドカードで誤ったモデルが一覧に出ました。
openai/*を指定すると、プロキシの/v1/modelsには Zurelay のモデルではなく、LiteLLM 組み込みの OpenAI 名 216 件(gpt-3.5-turbo、babbage-002)が表示されました。実際のモデル ID でのリクエストは問題なく動作しました。check_provider_endpoint: trueを設定すると、代わりに Zurelay のモデルが表示されるようになります。 - Windowsでは、出力をログファイルにリダイレクトするとプロキシが起動時にクラッシュし、
UnicodeEncodeError: 'charmap' codec can't encode charactersが発生しました。バナーに、デフォルトのコードページにない文字が含まれているためです。PythonのUTF-8モードで解消できます。環境変数にPYTHONUTF8=1を設定するか、python -X utf8を使ってください。
コストの追跡
LiteLLM の利用額追跡は、独自のリストをもとにリクエストごとの料金を計算します。LiteLLM が把握しているモデルでは、その料金は各ラボの定価です。今回の Claude Sonnet 5.5 のリクエストは Anthropic の料金で計算され、Zurelay の請求額の約 2.5 倍になりました。openai/ 経由の DeepSeek V4.1 Flash のように把握していないモデルでは、コストがまったく記録されません。上の設定の model_info の行で、どちらも解決できます。この行を入れると、LiteLLM が x-litellm-response-cost ヘッダーで返したコストが請求額と一致しました。
テストでの費用
プロキシ経由で、Claude Code は DeepSeek V4.1 Flash で小さな Python ファイルを作成し、続いて Claude Sonnet 5.5 で編集しました。どちらも Claude Code のファイルツールを正しく使えていました。Zurelay の請求は次のとおりです:
| モデル | タスク | リクエスト | プロンプトトークン(キャッシュ済み) | 料金 |
|---|---|---|---|---|
| DeepSeek V4.1 Flash | hello.py を作成 | 3 | 39,725 (25,845) | $0.0005 |
| Claude Sonnet 5.5 | hello.py を編集 | 3 | 51,310 (32,523) | $0.023 |
各リクエストには Claude Code の指示とツール定義が含まれ、13,000〜18,000 トークンありました。2 回目以降は、その大部分がキャッシュから読み込まれました。Claude タスクについて Claude Code 自身が出した見積もりは、Anthropic の定価で $0.054 でした。その前に行った SDK 呼び出し(それぞれ短い回答 1 回)のコストは、DeepSeek で $0.000006、Claude Sonnet 5.5 で $0.0003 でした。
知っておきたいこと
- プロキシは、
--host 127.0.0.1を渡さない限り、すべてのネットワークインターフェース(0.0.0.0)で待ち受けます。マスターキーは必ず設定してください。設定しないと、同じネットワーク上の誰でもあなたのクレジットを使えてしまいます。 - ワイルドカードのモデルでは、プレフィックスの後ろに実際のモデル ID を指定します。リクエスト内の
zurelay/gpt-6.1-terraは、Zurelay ではgpt-6.1-terraになります。 - Windows では、短いフォルダーパスにインストールしてください。一時フォルダーの深い場所に作成した仮想環境は、一部のファイルパスが Windows の 260 文字の上限を超えたため、
ModuleNotFoundError: No module named 'openai.types...'で失敗しました。
接続先に設定するモデルの料金
1Mトークンあたりの、提供元の定価とZurelayの料金:
| モデル | 入力 | 出力 | Zurelayでの価格(入力 / 出力) |
|---|---|---|---|
| DeepSeek V4.1 Flash | $0.30 | $1.20 | $0.03 / $0.12 |
| Claude Sonnet 5.5 | $2.00 | $10.00 | $0.79 / $3.95 |
| Claude Opus 5.5 | $4.00 | $20.00 | $1.40 / $7.00 |
| GPT-6.1 Terra | $1.00 | $5.00 | $0.25 / $1.25 |
| Gemini 3.8 Flash | $0.75 | $3.75 | $0.22 / $1.10 |
| Kimi K3.1 Pro | $2.00 | $10.00 | $0.80 / $4.00 |
| GLM-5.3 | $1.40 | $4.40 | $0.38 / $1.21 |
2026年11月3日 に、Windows 上の Python 3.12、LiteLLM 1.106.6、Claude Code 2.1.317 を使い、Zurelay の API に対してテストしました。簡単なセットアップ手順はドキュメントの LiteLLMにあります。LiteLLM 公式ドキュメント: OpenAI 互換エンドポイント、プロキシ設定。