This commit is contained in:
parent
565aa70e58
commit
b03b8da307
@ -71,7 +71,7 @@ NVIDIAの「デスクトップAIワークステーション」です。
|
||||
|
||||
## 構成図
|
||||
|
||||
\`\`\`
|
||||
```text
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ あなたのPC / DGX Spark │
|
||||
│ │
|
||||
@ -97,7 +97,7 @@ NVIDIAの「デスクトップAIワークステーション」です。
|
||||
│ │ └──────────────┘ │ │
|
||||
│ └──────────────────┘ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
### なぜプロキシが必要?
|
||||
|
||||
@ -123,9 +123,9 @@ FP8量子化版を使うことで、メモリ使用量は約45GB。DGX Sparkの1
|
||||
|
||||
## ワンライナーで全自動セットアップ
|
||||
|
||||
\`\`\`bash
|
||||
```bash
|
||||
curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
これだけ!約10分待つと環境が整います。
|
||||
|
||||
@ -137,49 +137,51 @@ curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash
|
||||
|
||||
### Step 1: vLLMでモデルを起動
|
||||
|
||||
\`\`\`bash title="vLLM起動コマンド"
|
||||
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 \\
|
||||
```bash title="vLLM起動コマンド"
|
||||
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** | ⚠️ これ超重要! |
|
||||
| `--max-model-len` | 200000 | 200Kトークンまで対応 |
|
||||
| `--max-num-seqs` | 8 | 同時リクエスト数(メモリ節約) |
|
||||
| `--tool-call-parser` | **qwen3_xml** | ⚠️ これ超重要! |
|
||||
|
||||
:::danger tool-call-parserに注意
|
||||
\`--tool-call-parser\` を間違えると、Claude Codeのファイル操作やコマンド実行が動きません。**必ず \`qwen3_xml\`** を指定してください。
|
||||
`--tool-call-parser` を間違えると、Claude Codeのファイル操作やコマンド実行が動きません。**必ず `qwen3_xml`** を指定してください。
|
||||
:::
|
||||
|
||||
初回起動は約10分かかります(45GBのモデルをダウンロード&ロード)。
|
||||
|
||||
### Step 2: claude-code-proxyを起動
|
||||
|
||||
\`\`\`bash
|
||||
```bash
|
||||
# クローン
|
||||
git clone https://github.com/fuergaosi233/claude-code-proxy.git
|
||||
cd claude-code-proxy
|
||||
|
||||
# 依存関係インストール
|
||||
pip install -r requirements.txt --user
|
||||
```
|
||||
|
||||
# 設定ファイル作成
|
||||
cat > .env << 'EOF'
|
||||
`.env` ファイルを作成:
|
||||
|
||||
```ini title=".env"
|
||||
OPENAI_BASE_URL=http://localhost:8000/v1
|
||||
OPENAI_API_KEY=dummy
|
||||
BIG_MODEL=qwen3-coder-next
|
||||
@ -187,31 +189,33 @@ MIDDLE_MODEL=qwen3-coder-next
|
||||
SMALL_MODEL=qwen3-coder-next
|
||||
REQUEST_TIMEOUT=300
|
||||
MAX_TOKENS_LIMIT=8192
|
||||
EOF
|
||||
```
|
||||
|
||||
# 起動
|
||||
プロキシを起動:
|
||||
|
||||
```bash
|
||||
python start_proxy.py
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
### Step 3: Claude Codeを起動
|
||||
|
||||
\`\`\`bash
|
||||
ANTHROPIC_BASE_URL=http://localhost:8082 \\
|
||||
ANTHROPIC_API_KEY=dummy \\
|
||||
```bash
|
||||
ANTHROPIC_BASE_URL=http://localhost:8082 \
|
||||
ANTHROPIC_API_KEY=dummy \
|
||||
claude
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
:::warning ANTHROPIC_AUTH_TOKEN
|
||||
\`ANTHROPIC_AUTH_TOKEN\` は設定しないでください。両方設定するとエラーになります。
|
||||
`ANTHROPIC_AUTH_TOKEN` は設定しないでください。両方設定するとエラーになります。
|
||||
:::
|
||||
|
||||
### 便利なエイリアス設定
|
||||
|
||||
\`\`\`bash title="~/.bashrc に追加"
|
||||
```bash title="~/.bashrc に追加"
|
||||
alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=dummy claude'
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
これで \`claude-local\` と打つだけでOK!
|
||||
これで `claude-local` と打つだけでOK!
|
||||
|
||||
## パフォーマンス
|
||||
|
||||
@ -230,25 +234,25 @@ Anthropic APIに比べると生成速度は遅めですが、ローカルで完
|
||||
|
||||
最初、ファイル操作しようとすると固まりました。
|
||||
|
||||
**原因**: \`--tool-call-parser hermes\` を使っていた
|
||||
**原因**: `--tool-call-parser hermes` を使っていた
|
||||
|
||||
**解決**: \`--tool-call-parser qwen3_xml\` に変更
|
||||
**解決**: `--tool-call-parser qwen3_xml` に変更
|
||||
|
||||
Qwen3系モデルは独自のTool Callingフォーマットを使うので、専用のパーサーが必要です。
|
||||
|
||||
### 2. Auth conflictエラー
|
||||
|
||||
\`\`\`
|
||||
```text
|
||||
Auth conflict: Both a token (ANTHROPIC_AUTH_TOKEN) and an API key (ANTHROPIC_API_KEY) are set.
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
**解決**: \`ANTHROPIC_AUTH_TOKEN\` を設定しない(または \`unset ANTHROPIC_AUTH_TOKEN\`)
|
||||
**解決**: `ANTHROPIC_AUTH_TOKEN` を設定しない(または `unset ANTHROPIC_AUTH_TOKEN`)
|
||||
|
||||
### 3. max_tokensエラー
|
||||
|
||||
入力が長すぎると、出力用のトークン枠がなくなってエラーに。
|
||||
|
||||
**解決**: vLLMの \`--max-model-len\` を増やす(今回は200Kに設定)
|
||||
**解決**: vLLMの `--max-model-len` を増やす(今回は200Kに設定)
|
||||
|
||||
## まとめ
|
||||
|
||||
@ -258,8 +262,8 @@ DGX SparkでClaude Codeをローカル化できました!
|
||||
|
||||
1. **vLLM + Qwen3-Coder-Next-FP8** でモデルを動かす
|
||||
2. **claude-code-proxy** でAPI形式を変換
|
||||
3. \`--tool-call-parser qwen3_xml\` を忘れずに!
|
||||
4. \`ANTHROPIC_AUTH_TOKEN\` は設定しない
|
||||
3. `--tool-call-parser qwen3_xml` を忘れずに!
|
||||
4. `ANTHROPIC_AUTH_TOKEN` は設定しない
|
||||
|
||||
セットアップは複雑ですが、一度動けば**速くて安定**。完全ローカルでClaude Codeが動く喜び、ぜひ体験してみてください。
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user