最近何かと話題のClaudeCodeについて、Ollamaを用いてClaudeCodeのローカルモデルを使用できるようになったとのことで、Windowsで環境構築を実践したものとなります。
海外向けのものやMac向けの記事などはそこそこあるのですが個人用Windows向けはあまり出ていなかったように見受けられたので、初心者目線での実装における簡単なメモレベルですが、残しておこうという備忘レベルの記事です。
性能こそ劣るものの完全無料でClaudeCodeを使用できるようになるとのことで、コスト面をネックに感じてClaudeCodeを使えなかった方には是非触れていただきたいです。
前提
- モデル: 今回は
qwen2.5-coder:3bを使用します。後ほど触れますが、自身のPCの性能(特にVRAM容量)に応じてモデルは変更してください。また、LLMのインストール先はSSD推奨です。HDDに一度入れてみましたが、性能的にかなり厳しいです。 - 環境: PowerShellに加えてWSL2 (Ubuntu) を使用します。一部の機能がWindowsネイティブのPowerShellに対応していないため、Ubuntuのセットアップを事前に行ってください。
- 注意点: 本来、Claude Codeは公式サーバーへのログインが必要ですが、今回は「ローカルモデルを公式サーバーのふりをして動かす」という挙動行います。課金などにはつながらず、Googleアカウントなどでログイン可能ですがご留意ください。
- その他: 途中何度か方針転換をしてしまったため、一部整合性が合わない個所などがあったら申し訳ありません。ここまでで必要な情報は記載した想定です。また、多少の誤字等は各自で調整いただきたく思います。。。
では、対応手順の解説になります。
実践編
1. Ollamaインストール
ollamaのインストールはブラウザから行います。以下URLから”Download”ボタンを押下してsetupファイルをダウンロード(1.2GBくらい)。
ダウンロードが完了したらファイルを開き、”Install”ボタンを押下。
ここはollamaの本体のインストールでデフォルトの保存先に保存されます。
インストールが完了したら自動で起動までするので大丈夫だと思いますが、念のため以下のコマンドでいインストールできているか確認。バージョンはどんどん更新されるので値が違っても気にしないでください。
C:\Users\Username> <em>ollama --version</em>
ollama version is 0.15.02. ローカルモデルのダウンロード
今回はqwen2.5-coder:3bをダウンロードします。ここはそこそこ時間がかかります。
C:\Users\Username> ollama run qwen2.5-coder:3b
pulling manifest
~~~
中略
~~~
writing manifest
success
C:\Users\Username> <em>ollama list</em>successが出ている時点で問題ないかと思いますが、念のため最後のollama listでqwen2.5-coder:3bが出ればOKです。
3. ClaudeCode CLIをインストール
以下コマンドでClaudeCodeCLIをインストールします。
ここではPowerShellではなくWSL2(Ubuntu)を使用して下さい。
ubuntu@DESKTOP-*******:~$ <em>curl -fsSL https://claude.ai/install.sh | bash</em>
Setting up Claude Code ...
~~~
中略
~~~
✅ Installation complete!
ubuntu@DESKTOP-*******:~$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
ubuntu@DESKTOP-*******:~$ <em>claude --version</em>こちらも最後のclaude --versionでバージョン(2.1.19など)表示がされればOKです。
4. Ollamaの待ち受けアドレス変更
PowerShell側で以下コマンドを実行してOllamaの待受アドレスを変更します。
C:\Users\Username> <em>[System.Environment]::SetEnvironmentVariable('OLLAMA_HOST', '0.0.0.0', 'User')</em>この後Ollamaを一度再起動しておいてください(恐らく起動状態になっているので、右下のタスクトレイのアイコンを右クリック>Quit Ollamaで一度落として再度起動)。
5. WSL2とWindowsの通信設定
WSL2からWindowsのOllamaにlocalhostで接続できるようにするため、設定ファイルを作成します(MirroredModeの使用)。Windows側のユーザーフォルダに作成した.wslconfig(C:\Users\ユーザー名\.wslconfig)に以下の内容を書き込みます。
[wsl2]
networkingMode=mirrored保存後、PowerShellでwsl --shutdownを実行してWSLを再起動してください。
6. ClaudeCodeをローカルに向ける設定
WSL2の~/.bashrcの末尾に、以下の環境変数を追記します。これにより、Claude CodeがローカルのOllamaを見に行くよう(=課金不要)になります。
ubuntu@DESKTOP-*******:~$ vi ~/.bashrc # 編集方法は何でもいいです
# 末尾に追記
export ANTHROPIC_BASE_URL="http://localhost:11434"
export ANTHROPIC_API_KEY="ollama" # 任意の文字列
export ANTHROPIC_AUTH_TOKEN="ollama"追記後にsource ~/.bashrcコマンドを実行して反映させます。
7. Claude起動
最後に、そのままWSL2側で安全な作業ディレクトリ(例:Eドライブの作業フォルダ)に移動してからモデルを指定して起動します。
ubuntu@DESKTOP-*******:~$ cd /mnt/e/claude-work
ubuntu@DESKTOP-*******:/mnt/e/claude-work$ claude --model qwen2.5-coder:3b「Do you trust the files in this folder?」と聞かれたら Yes、APIキーの使用を確認されたら Yes を選択します。また、前提で記載したようにここでログインが求められる可能性があります。ログイン用URLが表示されるのでそれを開いてログインを行った後に表示されるパスを画面に貼り付けてください。ここでログインしているから課金の請求が発生するといったことはありません。
ここまででClaudeの起動までは構築完了です。
ですが、ローカルモデルを使ってみると自律的なファイル作成機能などに失敗することが多く、かなり簡単なファイル作成の指示も失敗することがありました。しかし、対話を行う分にはモデル相応の十分な精度を持っていそうで、適当な指示でコードを書いてもらうなどもできました。
また、モデル選びも少し難航するところがあり、ここは十分に検討したうえで使用して、インストール後も変更したくなったらモデルをインストール→Claude実行時のコマンドの引数を変更する形でいくつかモデルを切り替えて使用してみるのもいいかもしれません(自分もいろいろ切り替えながら理想的なモデル探し中です)。
ClaudeCode公式のベストプラクティスやAnthropicハッカソン優勝者の設定などClaudeCodeのより良い使い方が模索され広まっていく中で、頻繁なアップデートも相まってClaudeCodeの名を聞かない日はないくらいには今アツい分野かと思っています。そんな中でClaudeCodeのローカルモデルという選択肢を本記事で少しでも広めて提示できたらと思います。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK