所要時間: 約30分 | 難易度: ★★☆☆☆
この記事で作るもの
- インターネット不要でGPT-4oクラスの回答性能を持つAIチャット環境をPC内に構築します
- 自分の機密ファイルを読み込ませても情報漏洩の心配がない、完全プライベートなRAG(知識検索)環境を完成させます
- 前提知識として、基本的なコマンド操作(ターミナルやコマンドプロンプト)への抵抗がないことを想定しています
📦 この記事に関連する商品(楽天メインで価格確認)
RTX 4060 Ti 16GBVRAM 16GBでローカルLLM入門に現実的。8GB版との差がAI用途では決定的です。
※アフィリエイトリンクを含みます
先に確認するスペック・料金
ローカル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 Error | Open 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:8b や gemma2:9b の4bit量子化版であれば、8GBでもサクサク動きます。より高速なレスポンスを求めるなら、phi3 などの3Bクラスのモデルを試してください。これらは軽量ながら、日常的なテキスト要約には十分な性能を持っています。



