2026-04-30
LiteLLM + Claude Code on DGX Spark — LANサービング設定とプロトコル変換
LiteLLMプロキシでClaude CodeのAPIコールをDGX Spark上のQwen3モデルにルーティング。設定・モデルエイリアスマッピング・レイテンシのトレードオフを解説。
Claude CodeはAnthropic APIフォーマットでリクエストを送信します。DGX SparkはOpenAI互換エンドポイントでvLLMを実行します。LiteLLMが両者を橋渡しします — Anthropic APIコールをリアルタイムでOpenAI APIコールに変換し、Claude CodeがローカルQwen3モデルをClaudeモデルとして扱えるようにします。
アーキテクチャ
Claude Code(Anthropic API)
↓
LiteLLMプロキシ(localhost:4000)
• claude-*エイリアス → Qwen3モデルIDへマッピング
• メッセージフォーマット + tool-useスキーマを変換
↓
vLLM(http://192.168.68.155:8888/v1)
• GB10上でQwen3.6-35B-A3B-NVFP4をサービング
LiteLLM設定
# litellm_config.yaml
model_list:
- model_name: claude-sonnet-4-20250514
litellm_params:
model: openai/Intel/Qwen3.6-35B-A3B-int4-AutoRound
api_base: http://192.168.68.155:8888/v1
api_key: none
- model_name: claude-3-opus-20240229
litellm_params:
model: openai/Intel/Qwen3.5-27B-int4-AutoRound
api_base: http://192.168.68.155:8888/v1
api_key: none
litellm_settings:
drop_params: true
set_verbose: false
プロキシ起動:
litellm --config litellm_config.yaml --port 4000
Claude Code設定
{
"apiBaseUrl": "http://localhost:4000",
"apiKey": "sk-local-any-string-works"
}
またはシェルランチャーパターン:
#!/usr/bin/env bash
export ANTHROPIC_API_KEY="sk-local-any-string"
export ANTHROPIC_BASE_URL="http://localhost:4000"
claude "$@"
vLLM上のNVFP4モデル
GB10で最高スループットを得るにはQwen3.6-35B-A3B-NVFP4をサービング:
docker run -d --gpus all --ipc host --shm-size 64gb \
-p 8888:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:cu130-nightly \
RedHatAI/Qwen3.6-35B-A3B-NVFP4 \
--served-model-name Intel/Qwen3.6-35B-A3B-int4-AutoRound \
--host 0.0.0.0 --port 8000 \
--dtype bfloat16 --gpu-memory-utilization 0.9 \
--max-model-len 131072 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--moe-backend=flashinfer_cutlass
レイテンシの実態
| シナリオ | レイテンシ |
|---|---|
| Claude Sonnet 4(クラウド) | 0.8–2s TTFT |
| Qwen3.6-35B NVFP4+MTP(ローカル) | 0.15–0.4s TTFT |
| Qwen3.6-35B NVFP4(MTPなし) | 0.25–0.6s TTFT |
| Qwen3.5-27B int4(ローカル) | 0.1–0.25s TTFT |
同一LAN上ではローカルTTFTがクラウドより低くなります — TLSハンドシェイクなし、地理的ルーティングなし。トレードオフは生成品質です。
既知の問題
- tool-useスキーマの差異:複雑なネストされたツールコール(1ターンで複数のツール結果)が断続的に失敗する場合があります。
drop_params: trueを追加してください。 - 大きなcontextのストリーミング:128K+のcontextで高並列時にLiteLLMのストリームバッファがバックプレッシャーになる可能性があります。
- モデルウォームアップ:サーバー起動後の最初のリクエストは遅くなります(CUDAグラフコンパイル中)。ランチャースクリプトにキープアライブpingを組み込んでください。