コンテンツにスキップ

Ollama: Qwen3.6-35B-A3B (Claude 4.7 Opus蒸留) セットアップ

📁 docs/dev-environment/artifact/ollama-claude47-opus-local-setup.md

モデル情報

項目
ベース lordx64/Qwen3.6-35B-A3B-Claude-4.7-Opus-Reasoning-Distilled
アーキテクチャ MoE(Mixture of Experts)
総パラメータ 35B(アクティブ約3B/トークン)
量子化 IQ4_XS(約18.9GB)
コンテキスト 16K(デフォルト)
GGUF提供 lordx64(本人)
蒸留元 Claude 4.7 Opus

セットアップ手順

1. GGUFをpull

ollama pull "hf.co/lordx64/Qwen3.6-35B-A3B-Claude-4.7-Opus-Reasoning-Distilled-IQ4_XS-GGUF"

※ダウンロードは約18.9GB、完了まで数十分かかる場合があります。

2. フレンドリー名で登録

ollama create claude47-opus-local -f docs/dev-environment/artifact/qwen3.6-35b-opus-distilled.Modelfile

3. 動作確認

# ローカルテスト
ollama run claude47-opus-local "Pythonの非同期処理について簡潔に説明して"

# API経由テスト
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "claude47-opus-local", "messages": [{"role": "user", "content": "hello"}], "stream": false}'

VRAM 16GB対応について

このモデルは18.9GBのGGUFファイルですが、MoEアーキテクチャのため実際のVRAM使用量は少なくなります。 RTX 5070 Ti (16GB) で使用する際の注意点:

  • OllamaはデフォルトでGPU/CPUハイブリッドオフロードを自動調整します
  • VRAM不足の場合、自動的に一部レイヤーをCPU(RAM)にオフロードします
  • ollama ps でGPU使用率を確認できます
  • 速度が遅い場合は num_ctx 8192 に下げることで改善できます

Claude Codeとの連携

現状と制限

連携方法 状況
ANTHROPIC_BASE_URL 直接指定 技術的に可能・非公式
LiteLLMゲートウェイ経由 公式推奨・より安定
Anthropic API(クラウド) 完全サポート

主な制限(直接接続時): - Extended Thinking が動作しない(anthropic-betaヘッダー非対応) - Prompt Caching が使えない - Tool Use は部分的にのみ動作

方法A: ANTHROPIC_BASE_URL を直接設定

# 環境変数を設定してからClaude Codeを起動
export ANTHROPIC_BASE_URL=http://localhost:11434/v1
export ANTHROPIC_API_KEY=dummy  # ローカルには不要だがClaudeが要求するためダミーを設定
claude --model claude47-opus-local

または .claude/settings.local.json(Gitにはコミットしない):

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:11434/v1",
    "ANTHROPIC_API_KEY": "ollama"
  },
  "model": "claude47-opus-local"
}

方法B: LiteLLMゲートウェイ経由(推奨・より安定)

# LiteLLMをインストール
pip install litellm[proxy]

# 設定ファイルを作成 (litellm_config.yaml)
# 起動
litellm --model ollama/claude47-opus-local --port 8000

# Claude Code側で接続
export ANTHROPIC_BASE_URL=http://localhost:8000
claude

クラウド ↔ ローカルの切り替え

環境変数で切り替える方法

# クラウド(Anthropic API)モードに戻す
unset ANTHROPIC_BASE_URL
claude  # 通常のAnthropicエンドポイントに接続

# ローカルモードに切り替え
export ANTHROPIC_BASE_URL=http://localhost:11434/v1
export ANTHROPIC_API_KEY=ollama
claude --model claude47-opus-local

.env ファイルで管理する方法

# .env.cloud
ANTHROPIC_API_KEY=sk-ant-...  # 本物のAPIキー
# ANTHROPIC_BASE_URL は設定しない(デフォルトでapi.anthropic.comを使用)

# .env.local
ANTHROPIC_BASE_URL=http://localhost:11434/v1
ANTHROPIC_API_KEY=ollama

# 切り替え
source .env.local  # ローカルに切り替え
source .env.cloud  # クラウドに切り替え

secure-llmスキルで使用

機密情報を含む作業の場合:

/secure-llm

→ Ollamaへのルーティングはスキル側が処理。モデル名に claude47-opus-local を指定。

スクリプトから直接呼び出し

import requests

def ask_local_llm(prompt: str) -> str:
    """Claude 4.7 Opus蒸留ローカルモデルに問い合わせ"""
    res = requests.post(
        "http://localhost:11434/v1/chat/completions",
        json={
            "model": "claude47-opus-local",
            "messages": [{"role": "user", "content": prompt}],
            "stream": False,
        }
    )
    return res.json()["choices"][0]["message"]["content"]

トラブルシューティング

VRAM不足でモデルが起動しない場合

# Modelfileの num_gpu パラメーターを調整して再作成
# num_gpu を小さくするほどCPU側に多くオフロードされる
ollama create claude47-opus-local -f docs/dev-environment/artifact/qwen3.6-35b-opus-distilled.Modelfile

Claude Codeで接続エラーが出る場合

  • ANTHROPIC_API_KEY が未設定の場合はダミー値("ollama"等)を設定
  • Ollamaが起動しているか確認: ollama ps
  • ポートが開いているか確認: curl http://localhost:11434/api/tags

他デバイスからの接続

# Mac(同一LAN)
export OLLAMA_HOST=192.168.11.44:11434

# Mac(Tailscale経由)
export OLLAMA_HOST=100.87.120.65:11434