所要時間: 約30分 | 難易度: ★★☆☆☆

この記事で作るもの

  • インターネット不要でGPT-4oクラスの回答性能を持つAIチャット環境をPC内に構築します
  • 自分の機密ファイルを読み込ませても情報漏洩の心配がない、完全プライベートなRAG(知識検索)環境を完成させます
  • 前提知識として、基本的なコマンド操作(ターミナルやコマンドプロンプト)への抵抗がないことを想定しています

📦 この記事に関連する商品(楽天メインで価格確認)

RTX 4060 Ti 16GB

VRAM 16GBでローカルLLM入門に現実的。8GB版との差がAI用途では決定的です。

楽天で価格を見る Amazonでも確認

※アフィリエイトリンクを含みます

先に確認するスペック・料金

ローカルLLMを動かす上で、最も重要なのはCPUではなくGPUの「VRAM(ビデオメモリ)」容量です。 結論から言うと、VRAM 8GBが最低ライン、12GBあれば快適、16GB以上あれば現時点の主要モデルをほぼ全て実用レベルで回せます。 私はRTX 4090を2枚挿して運用していますが、これは検証用。一般的にはRTX 4060 Tiの16GB版が最もコストパフォーマンスに優れた選択肢になります。

Apple Silicon搭載のMac(M1/M2/M3/M4)なら、メインメモリがVRAMとして機能するため、メモリ32GB以上のモデルを選べば非常に強力なAIマシンになります。 逆に、メモリ8GBのMacBook Airでは、軽量モデルのLlama 3.1 8Bでもレスポンスが1秒間に数文字程度まで落ち込み、実用に耐えません。 この環境構築自体に料金はかかりません。DockerもOllamaもオープンソースなので、電気代以外は完全に無料です。

なぜこの方法を選ぶのか

ローカルLLMを動かすツールには「LM Studio」や「Jan」など、より簡単な選択肢もあります。 それでも私が「Ollama + Open WebUI」の組み合わせを推す理由は、拡張性と実用性が圧倒的だからです。

Open WebUIは、その名の通りChatGPTのインターフェースをほぼ完璧に再現しており、マルチモーダル(画像認識)やRAG(PDFなどの文書読み込み)が標準で組み込まれています。 また、バックエンドのOllamaはAPIサーバーとしても機能するため、後からCursorなどの外部エディタと連携させる際にも設定がスムーズです。 単に「動かして終わり」ではなく、仕事のワークフローに組み込むなら、現状この構成がベストプラクティスだと言い切れます。

Step 1: Ollamaをインストールしてエンジンを作る

まずはLLMを動かす心臓部となる「Ollama」を導入します。

# macOS / Linux の場合
curl -fsSL https://ollama.com/install.sh | sh

Windowsの場合は、公式サイト(ollama.com)からインストーラーをダウンロードして実行してください。 インストールが完了したら、以下のコマンドをターミナルで叩いて、モデルが正常に動作するか確認します。

ollama run llama3.1

初回はモデルのダウンロード(約4.7GB)が始まります。 完了後、プロンプトが表示されたら「Hello, who are you?」と入力してみてください。 即座に返答が来れば、エンジンのセットアップは成功です。

⚠️ 落とし穴: WindowsユーザーでWSL2を使用している場合、OllamaがGPUを認識しないケースが多々あります。 タスクマネージャーの「パフォーマンス」タブで、LLM動作中にGPUの「専用ビデオメモリ」が消費されているか確認してください。 ここが動いておらず、CPU使用率が100%になっている場合は、NVIDIAのドライバーを最新にするか、Windowsネイティブ版のOllamaを使用することをお勧めします。

Step 2: Docker環境を整える

Open WebUIはDockerコンテナとして動かすのが最も管理しやすく、ホストOSを汚しません。 Docker Desktopがインストールされていない場合は、先に公式サイトから導入しておいてください。

Linux環境でNVIDIA GPUを使う場合は、nvidia-container-toolkitのインストールが必須です。 これがないと、Dockerコンテナの中からGPUが見えず、動作が極端に遅くなります。

# Ubuntuでの例
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
# (中略:公式ドキュメントに従ってリポジトリを追加)
sudo apt-get install -y nvidia-container-toolkit

Dockerの設定画面(Resources)で、メモリ割り当てを可能な限り増やしておくと、大きなファイルをアップロードした際のエラーを防げます。

Step 3: Open WebUIを起動する

準備ができたら、以下のコマンドを1行ずつコピーして実行してください。 ここでは「OllamaとOpen WebUIを一つの通信ネットワークでつなぐ」設定にします。

# データの永続化用ボリューム作成
docker volume create open-webui

# Open WebUIのコンテナを起動(GPU対応版)
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

コマンド内の -p 3000:8080 は、ブラウザで http://localhost:3000 にアクセスするための設定です。 host.docker.internal:host-gateway を指定することで、Dockerコンテナの中から「外」にいるOllamaと通信できるようになります。

期待される出力

ブラウザを開き、http://localhost:3000 にアクセスします。 初回はアカウント作成画面が出ますが、これはローカルに保存されるだけなので、好きなメールアドレスとパスワードを設定してください。 ログイン後、画面上部の「モデルを選択」から、先ほどダウンロードした llama3.1:latest が表示されていれば成功です。

Step 4: 実用レベルにする(日本語最適化とRAG)

デフォルトのLlama 3.1は英語に強いモデルですが、日本語で使うには「システムプロンプト」の調整が不可欠です。 設定(Settings)の「General」にある「System Prompt」に以下を入力してください。

あなたは優秀な日本人エンジニアの助手です。
回答は常に簡潔で正確な日本語で行ってください。
専門用語については、必要に応じて英語を併記してください。

これで、不自然な敬語や英語混じりの回答が激減します。

さらに実務で使うなら、画面左下の「+」ボタンからファイルをアップロードしてみてください。 Open WebUIはアップロードされたPDFやテキストを自動でベクトル化(RAG)し、「この資料に基づいて回答して」という指示に対応できます。 私のテストでは、100ページの技術仕様書を読み込ませても、0.5秒程度で該当箇所を特定して回答を生成できました。

よくあるトラブルと解決法

エラー内容原因解決策
Connection ErrorOpen WebUIからOllamaが見えていないOLLAMA_BASE_URL 環境変数に http://host.docker.internal:11434 を設定する
回答が遅すぎるGPUではなくCPUで動作しているDockerの設定でGPUパススルーが有効か確認、またはVRAM不足でスワップが発生している
モデルが出てこないOllama側でモデルをpullしていないターミナルで ollama pull llama3.1 を再実行する

次のステップ

ここまでで、自分専用のプライベートAI環境が手に入りました。 次に挑戦すべきは「モデルの使い分け」です。 例えば、コードを書きたいときは qwen2.5-coder、論理的な推論をさせたいときは gemma2 など、Ollamaはコマンド一つで新しいモデルを追加できます。

また、Open WebUIの「Functions」機能を使えば、Google検索の結果をLLMに取り込んだり、数式をPythonで計算させたりといったカスタマイズも可能です。 私は自作のスクリプトを噛ませて、ローカルのサーバー監視ログを定期的に要約させるエージェントとして運用しています。 「AIをブラウザの中で使う」段階から、「自分のマシンの一部として動かす」段階へ。 ここからが本当のローカルLLMの楽しさです。

よくある質問

Q1: ネットに繋がっていなくても使えますか?

はい、使えます。モデルのダウンロード時だけネットが必要ですが、一度PCに入ってしまえば、完全にオフラインで動作します。飛行機の中やセキュリティの厳しい環境でも、自分のAIを使い続けられるのがローカル環境の最大の利点です。

Q2: 家族やチームでこのUIを共有できますか?

可能です。Dockerを動かしているPCのローカルIPアドレス(例: 192.168.1.10:3000)を同じWi-Fi内の他のデバイスから叩けば、スマホやタブレットからもアクセスできます。管理画面でユーザー作成を許可すれば、チーム用AIサーバーとしても機能します。

Q3: VRAM 8GBしかありませんが、どのモデルがおすすめですか?

llama3.1:8bgemma2:9b の4bit量子化版であれば、8GBでもサクサク動きます。より高速なレスポンスを求めるなら、phi3 などの3Bクラスのモデルを試してください。これらは軽量ながら、日常的なテキスト要約には十分な性能を持っています。


あわせて読みたい