All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 26s
5.2 KiB
5.2 KiB
sidebar_position, title, description, hide_table_of_contents, displayed_sidebar
| sidebar_position | title | description | hide_table_of_contents | displayed_sidebar |
|---|---|---|---|---|
| 4 | DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する | DGX Spark上でQwen3-Coder-Next-FP8をvLLM経由でClaude Codeのバックエンドとして使う方法(200Kコンテキスト対応) | false | null |
DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する
概要
Claude Codeをローカルで動かすメリット:
- プライバシー: コードがクラウドに送信されない
- コスト: API料金不要
- 速度: ネットワーク遅延なし
この記事では、DGX Spark上でQwen3-Coder-Next-FP8を使ってClaude Codeを動かす方法を解説する。
ワンライナーセットアップ
curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash
:::tip 初回はモデルロードに約10分かかる。スクリプトは完了まで待機する。 :::
構成
┌─────────────────────────────────────────────────────┐
│ DGX Spark │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ Claude Code │───▶│ claude-code-proxy│ │
│ └─────────────┘ │ (port 8082) │ │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ vLLM Server │ │
│ │ (port 8000) │ │
│ │ Qwen3-Coder-Next │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
手動セットアップ
Step 1: vLLMでQwen3-Coder-Next-FP8を起動
docker run -d --name qwen3-coder-next-fp8 \
--gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--ipc=host \
nvcr.io/nvidia/vllm:25.11-py3 \
vllm serve Qwen/Qwen3-Coder-Next-FP8 \
--served-model-name qwen3-coder-next \
--max-model-len 200000 \
--max-num-seqs 8 \
--gpu-memory-utilization 0.85 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--trust-remote-code
重要なパラメータ
| パラメータ | 値 | 説明 |
|---|---|---|
--max-model-len |
200000 |
200Kコンテキスト |
--max-num-seqs |
8 |
同時リクエスト数(メモリ節約) |
--tool-call-parser |
qwen3_xml |
Qwen3専用パーサー |
:::danger tool-call-parserに注意
--tool-call-parser hermes ではなく qwen3_xml を使うこと!
hermesだとTool Callingのフォーマットが崩れてClaude Codeが止まる。
:::
Step 2: claude-code-proxyをセットアップ
git clone https://github.com/fuergaosi233/claude-code-proxy.git
cd claude-code-proxy
pip install -r requirements.txt --user
cat > .env << 'EOF'
OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=dummy
BIG_MODEL=qwen3-coder-next
MIDDLE_MODEL=qwen3-coder-next
SMALL_MODEL=qwen3-coder-next
REQUEST_TIMEOUT=300
MAX_TOKENS_LIMIT=8192
EOF
python start_proxy.py
Step 3: Claude Codeを起動
ANTHROPIC_BASE_URL=http://localhost:8082 \
ANTHROPIC_API_KEY=dummy \
claude
:::tip ANTHROPIC_AUTH_TOKEN
ANTHROPIC_AUTH_TOKEN は設定しないこと!両方設定するとAuth conflictエラーが出る。
:::
シェル設定に追加(推奨)
alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=dummy claude'
パフォーマンス
| 項目 | 値 |
|---|---|
| プロンプト処理 | ~2300 tokens/s |
| 生成速度 | ~20-30 tokens/s |
| メモリ使用量 | ~84GB / 119GB |
| 最大コンテキスト | 200K tokens |
| 同時リクエスト | 8 |
トラブルシューティング
Tool Callingで止まる
# ❌ 間違い
--tool-call-parser hermes
# ✅ 正解
--tool-call-parser qwen3_xml
Auth conflict エラー
unset ANTHROPIC_AUTH_TOKEN
max_tokens エラー
入力が長すぎて出力枠がない場合、プロキシの MAX_TOKENS_LIMIT を下げる。
まとめ
- vLLM + Qwen3-Coder-Next-FP8を起動(200K対応)
--tool-call-parser qwen3_xmlを使う- claude-code-proxyでAPI変換
ANTHROPIC_AUTH_TOKENは設定しない
参考リンク
この記事は2026年2月時点の情報です。