Ollama + Open WebUI: ローカルでChatGPTライクなインターフェースを構築(完全ガイド)
正直、初めてローカルでLLMを動かした時は結構不安でした。「これ本当に動くの?古いノートパソコンがフリーズしない?」って。でも結果は—想像よりずっとスムーズでした。
この記事では、OllamaとOpen WebUIを使ってローカルにChatGPT風のチャットインターフェースを構築する方法を紹介します。全体で約30分で完了します。
なぜローカルデプロイを選ぶのか
ChatGPTやClaudeは便利ですが、いくつか気になるところがあります。
費用の問題。月額20ドルは年間で240ドルになります。ヘビーユーザーなら良いですが、たまにコードの質問をしたり調べ物をする程度では、この費用はちょっと無駄に感じます。ローカルでモデルを動かせば、ダウンロード後は完全無料。トークン課金もなし、サブスクリプションの更新も気にする必要がありません。
プライバシー。入力した内容はOpenAIやAnthropicのサーバーにアップロードされます。仕事のドキュメント、個人的なメモ、プライベートな会話—正直、あまり安心できません。ローカルデプロイなら、データはすべて自分のハードディスクに残ります。他には行きません。
オフライン利用。旅行中やネットが不安定な時、クラウドAIは使えなくなります。ローカルモデルはダウンロード後、完全にオフラインで動作。ネットがなくても問題なく使えます。
カスタマイズ。クラウドサービスはパラメータがロックされています。Temperature、プロンプトテンプレート—何も調整できません。ローカルで動かせば、好きなように変更できます。
基本概念の概要
まず、この2つのツールが何なのかを理解しておきましょう。でないと後で混乱します。
Ollamaはモデルランナーです。大規模言語モデルのダウンロード、管理、実行を支援し、API(デフォルトポート11434)も提供します。「ローカル版のOpenAI API」と考えてください。
Open WebUIはWebインターフェースです。ChatGPT風のチャットウィンドウ、モデル切り替え、履歴管理—すべて揃っています。APIを通じてOllamaに接続し、コマンドライン操作をブラウザでのグラフィカルインターフェースに変換します。
アーキテクチャはこんな感じ:
ブラウザ (localhost:3000)
↓
Open WebUI (Dockerコンテナ)
↓ HTTP API
Ollama (ローカルサービス, ポート11434)
↓
ローカルモデル (~/.ollamaに保存)
ブラウザを開く → Open WebUIがOllama APIを呼び出す → Ollamaがモデルをロードして推論 → 結果が返ってくる。これだけシンプルです。
システム要件と準備
デプロイ前に、ハードウェアが十分か確認しましょう。
最低要件:
- プロセッサ: Intel i5または同等性能
- メモリ: 8GB RAM(16GB以上推奨)
- ストレージ: 最低10GBの空き容量(モデルファイルは大きいです)
- OS: Windows 10以降、macOS 11以降、Linux
推奨構成:
- GPU: NVIDIA RTX 3060以上(推論がかなり速くなります)
- Apple Silicon Mac: M1/M2/M3シリーズ、統合メモリアーキテクチャ、モデル実行に最適
ソフトウェア依存関係:
- Docker: Open WebUIの実行用(Dockerなしでも可能ですが、Dockerの方が簡単です)
Dockerがインストールされているか確認:
docker --version
docker compose version
バージョン番号が表示されればインストール済みです。表示されない場合は、先にDocker Desktop(Windows/macOS)またはDocker Engine(Linux)をインストールしてください。
Step 1: Ollamaのインストール
Ollamaのインストール—1コマンドで完了です。
1.1 macOSとLinuxのインストール
ターミナルを開いて実行:
curl -fsSL https://ollama.com/install.sh | sh
スクリプトが自動的にOllamaをダウンロードしてシステムにインストールします。インストール後、バックグラウンドサービスが自動的に起動します。
1.2 Windowsのインストール
PowerShellで実行:
irm https://ollama.com/install.ps1 | iex
または ollama.com/download からWindowsインストーラーをダウンロードして、ダブルクリックで実行。どちらでも構いません。
1.3 Dockerインストール(オプション)
Ollamaもコンテナに入れたい?Dockerを使いましょう:
docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
-v ollama:/root/.ollama はモデルをDockerボリュームに保存します—コンテナ再起動後もモデルは失われません。
1.4 インストールの確認
インストール後、Ollamaが正常に動いているか確認:
ollama --version
ollama version is 0.1.x のようなバージョン番号が表示されるはずです。
サービスが自動起動していない場合は、手動で起動:
ollama serve
これでバックグラウンドでOllama APIサービスが起動し、http://localhost:11434 でリッスンします。
Step 2: モデルのダウンロードと実行
Ollamaがインストールできました。次はモデルをダウンロードしましょう。
2.1 モデルの選び方
モデルのサイズによって必要なハードウェアが異なります。この表で素早く選べます:
| ハードウェア | 推奨モデル | パラメータ数 | ディスク容量 | コマンド |
|---|---|---|---|---|
| 8GB RAM、GPUなし | Llama 3.2 1B | 1B | 740MB | ollama run llama3.2:1b |
| 8GB RAM、GPUなし | Gemma 3 2B | 2B | 1.4GB | ollama run gemma3:2b |
| 16GB RAM | Llama 3.2 3B | 3B | 2GB | ollama run llama3.2 |
| 16GB RAM | Qwen 2.5 7B | 7B | 4GB | ollama run qwen2.5:7b |
| 16GB RAM + GPU | Llama 3.1 8B | 8B | 4.7GB | ollama run llama3.1:8b |
| 32GB RAM + GPU | DeepSeek R1 14B | 14B | 8GB | ollama run deepseek-r1:14b |
| 64GB RAM + GPU | Llama 3.3 70B | 70B | 39GB | ollama run llama3.3:70b |
用途で選ぶ:
- 日常会話、簡単なタスク: Llama 3.2 1B または 3B
- 日本語重視: Qwen 2.5シリーズ(アリババ製、日本語のパフォーマンスが良い)
- コーディング: DeepSeek R1シリーズ(推論能力が高く、コード生成に適している)
- 汎用ハイパフォーマンス: Llama 3.1 8B または Mistral 7B
2.2 モデルのダウンロード
ollama pull コマンドでダウンロード:
# Llama 3.2をダウンロード(デフォルト3B版)
ollama pull llama3.2
# DeepSeek R1 7Bをダウンロード
ollama pull deepseek-r1:7b
# Qwen 2.5 7Bをダウンロード(日本語対応)
ollama pull qwen2.5:7b
初回のダウンロードは数分かかるかもしれません—モデルサイズとネット速度によります。Llama 3.2は約2分、DeepSeek R1 7Bは少し長くかかりました。
2.3 モデルでチャット
ダウンロード完了後、直接実行:
ollama run llama3.2
チャットインターフェースに入ります:
>>> Send a message (/? for help)
質問を入力すると、モデルがリアルタイムで応答:
>>> こんにちは、自己紹介してください
こんにちは!私はLlama 3.2モデルをベースにしたローカルAIアシスタントです...
終了は Ctrl + d または /bye を入力。
2.4 よく使う管理コマンド
ダウンロード済みモデルの一覧:
ollama list
モデルの削除:
ollama rm llama3.2:1b
モデルのコピー(エイリアス作成):
ollama cp llama3.2 my-llama
モデル詳細の表示:
ollama show llama3.2
Step 3: Open WebUIのインストール
コマンドラインで十分使えます。でもChatGPT風のグラフィカルインターフェースを体験したいなら—Open WebUIをインストールしましょう。
3.1 Docker単一コンテナデプロイ(超速)
まずOllamaサービスが動いていることを確認(ollama serve)、その後実行:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart unless-stopped \
ghcr.io/open-webui/open-webui:main
パラメータの説明:
-p 3000:8080: コンテナの8080ポートをマシンの3000ポートにマッピング--add-host=host.docker.internal:host-gateway: コンテナがホストのOllamaサービスにアクセスできるようにする-v open-webui:/app/backend/data: データを永続化(チャット履歴、ユーザーアカウント)--restart unless-stopped: Docker再起動後、コンテナが自動起動
デプロイ完了後、ブラウザでアクセス:
http://localhost:3000
3.2 Docker Composeデプロイ(推奨)
OllamaとOpen WebUIの両方をDockerで管理したい?Docker Composeの方が便利です。
まずディレクトリを作成:
mkdir open-webui-project
cd open-webui-project
compose.yaml ファイルを作成:
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./data:/app/backend/data
environment:
- "OLLAMA_BASE_URL=http://ollama:11434"
restart: unless-stopped
depends_on:
- ollama
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ./ollama:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
サービス起動:
docker compose up -d
ステータス確認:
docker compose ps
両方のコンテナが running と表示されれば成功です。
3.3 初回アクセスと設定
ブラウザで http://localhost:3000 にアクセス。初回はアカウント作成ページが表示されます。
管理者アカウントの作成:
- ユーザー名、メール、パスワードを入力
- “Sign Up”をクリック
ログイン後、Open WebUIが自動的にOllamaサービスを検出し、利用可能なモデルを一覧表示します。すでにモデルをダウンロードしている場合、ドロップダウンメニューに次のように表示されます:
llama3.2:latest
deepseek-r1:7b
qwen2.5:7b
自動検出されない? Settings → Connections でOllama APIアドレスを手動入力:
http://host.docker.internal:11434
Docker Composeを使用している場合:
http://ollama:11434
Step 4: 基本的な使い方
インターフェースがセットアップできました。使い方を見ていきましょう。
4.1 ChatGPT風チャット
インターフェースはChatGPTに非常に似ています:
- 左側はチャットリスト、新規作成、削除、名前変更が可能
- 上部はモデル選択ドロップダウン
- 下部は入力ボックス、入力後Enterで送信
モデルを選択(例: llama3.2)、質問を入力すると、回答がリアルタイムで表示—ChatGPTと同じようにストリーミング出力されます。かなり快適です。
4.2 モデルの切り替え
同じ会話の中でモデルを切り替えられます。上部のモデルドロップダウンをクリックして、別のモデルを選択し、会話を続けます。
この機能は異なるモデルの回答を比較するのに最適です。例えば:
- 同じ質問をして、まずLlama 3.2に回答させる
- DeepSeek R1に切り替えて、より深い回答が得られるか確認する
4.3 チャット管理
- 新規チャット: 左側の”New Chat”をクリック
- チャットの名前変更: チャットタイトルをクリックして直接編集
- チャットの削除: チャットを右クリックして削除を選択
- 履歴検索: 左上に検索ボックスあり
すべてのチャットはローカルDockerボリュームに保存され、クラウドにはアップロードされません。
4.4 パラメータ調整
入力ボックス右側の設定アイコンをクリックして、モデルパラメータを調整:
- Temperature: 出力のランダム性を制御。低い値(0.1-0.3)はより安定、高い値(0.7-0.9)はよりクリエイティブ
- Top P: 語彙選択の範囲を制御
- 最大出力長: 回答の長さを制限
これらのパラメータは結果に大きく影響します。コーディングには低いTemperatureを、クリエイティブな文章には高いTemperatureを使いましょう。
Step 5: 高度な機能
基本的なチャット以外に、Open WebUIにはいくつかの実用的な高度な機能があります。
5.1 RAG知識ベースの構築
RAG(Retrieval-Augmented Generation)—ドキュメントをAIが検索可能な知識ベースに変換します。
使い方:
- 左側の”Documents”タブをクリック
- “Upload”をクリックしてファイルを選択(PDF、Markdown、TXT、DOCXをサポート)
- ファイルアップロード後、システムが自動的に処理してインデックスを構築
アップロード完了後、チャット時に”Use Documents”をチェックすると、AIがドキュメントから関連情報を検索します。
活用シナリオ例:
- 会社のAPIドキュメントをアップロードして、「エンドポイントXのパラメータは何?」と質問
- 個人メモをアップロードして、「前回の会議の結論は何?」と質問
- 技術PDFをアップロードして、「概念Xの詳細な説明」を質問
これがローカル版の「知識ベースチャット」—すべてのドキュメントは自分のハードディスクに保存されます。
5.2 マルチユーザー管理
複数人がシステムを使用?異なるアカウントを作成できます。
管理者は Settings → Users で:
- 新規ユーザーの作成
- ユーザー権限の設定(一般ユーザー、管理者)
- ユーザーリストの表示
各ユーザーのチャット履歴は個別に保存され、相互に干渉しません。
5.3 API連携
Open WebUIとOllamaはどちらもOpenAI互換のAPIを提供し、既存のツールに直接接続できます。
Ollama APIの呼び出し:
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{"role": "user", "content": "Hello"}
],
"stream": false
}'
Open WebUI APIの呼び出し(認証が必要な場合、まずトークンを取得):
curl http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "Hello"}]
}'
Pythonの例:
import requests
response = requests.post('http://localhost:11434/api/chat', json={
'model': 'llama3.2',
'messages': [{'role': 'user', 'content': 'Hello'}],
'stream': False
})
print(response.json()['message']['content'])
これで、ローカルモデルをVS Codeプラグイン、自動化スクリプト、またはOpenAI APIをサポートする他のツールに接続できます。
Step 6: パフォーマンスチューニング
推論速度が遅い?メモリが足りない?いくつかのパラメータを調整してみましょう。
6.1 GPUアクセラレーション
Ollamaは自動的にGPUを検出して使用します。GPUが認識されない?ドライバーが正しくインストールされているか確認してください。
NVIDIA GPU:
NVIDIAドライバーとCUDAがインストールされていることを確認。Ollamaは自動的に nvidia-smi を呼び出してGPUを検出します。
Apple Silicon Mac:
M1/M2/M3 Macは追加設定不要—Ollamaが自動的にMetalアクセラレーションを使用します。
AMD GPU:
LinuxではROCm版のOllamaをインストールできます:
curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr/ -xzf ollama-linux-amd64-rocm.tgz
6.2 並行設定
複数のモデルを同時に実行したい、または並行処理能力を向上させたい?環境変数を設定:
# 同時実行モデル数を設定
OLLAMA_NUM_PARALLEL=2 ollama serve
# 最大ロードモデル数を設定
OLLAMA_MAX_LOADED_MODELS=2 ollama serve
これらのパラメータはマルチユーザーシナリオに適しており、モデル切り替え時のロード遅延を回避できます。
6.3 モデルの量子化
大きなモデル(70Bなど)がメモリを大量に消費?量子化版を使用して使用量を削減:
# 4ビット量子化版をダウンロード(使用量約75%削減)
ollama pull llama3.3:70b-q4_K_M
量子化は品質をわずかに低下させますが、速度とメモリ使用量は大幅に改善します。
よくある問題と解決策
デプロイ中に問題が発生する可能性があります。最も一般的なものをいくつか紹介します。
Q1: モデルのダウンロードが非常に遅い
原因: Ollamaの公式サーバーは海外にあり、一部の地域ではダウンロードが遅い場合があります。
解決策:
- プロキシを使用
- またはミラーサイトからGGUFファイルをダウンロードし、Ollamaに手動でインポート
手動インポート方法:
# GGUFファイルダウンロード後、Modelfileを作成
FROM ./llama3.2.gguf
# モデルを作成
ollama create my-llama3.2 -f Modelfile
Q2: Open WebUIがOllamaに接続できない
現象: インターフェースに”Ollama connection failed”と表示。
トラブルシューティング:
- Ollamaサービスが実行されていることを確認:
curl http://localhost:11434
"Ollama is running" が返されるはずです。
- Dockerを使用している場合、ネットワーク設定を確認:
docker exec -it open-webui curl http://host.docker.internal:11434
動作しない場合、OLLAMA_BASE_URL 環境変数を手動で設定する必要があるかもしれません。
Q3: GPUが認識されない
現象: 推論速度が非常に遅い、nvidia-smi でGPUが使用されていないと表示。
トラブルシューティング:
- NVIDIAドライバーを確認:
nvidia-smi
GPU情報が表示されるはずです。
- OllamaがGPUを認識しているか確認:
ollama show llama3.2 --system
CPU-onlyと表示される場合、GPUが認識されていません。
解決策:
- NVIDIAドライバーを再インストール
- CUDAバージョンの互換性を確認
- Linuxでは
CUDA_VISIBLE_DEVICESの設定が必要かもしれません
Q4: メモリ不足エラー
現象: 大きなモデルを実行すると OOM(Out of Memory)エラーが発生。
解決策:
- より小さなモデルを使用(1Bまたは3Bなど)
- 量子化版を使用(
q4_K_M) - スワップスペースを増やす(Linux)
- 他のメモリ消費プログラムを閉じる
Q5: Dockerコンテナの起動失敗
現象: docker ps でコンテナのステータスが Exited と表示。
トラブルシューティング:
コンテナログを確認:
docker logs open-webui
一般的な原因:
- ポートの競合(ポート3000が他のプログラムに使用されている)
- ボリュームの権限問題
- メモリ不足
解決策:
- 異なるポートを使用(例:
-p 8080:8080) - Dockerボリュームの権限を確認
- コンテナのメモリ制限を増やす
まとめ
Ollama + Open WebUIでローカルにChatGPTインターフェースを構築する、その核心的なステップはこれだけです:
- Ollamaをインストール(1コマンド)
- 適切なモデルをダウンロード(ハードウェアに基づいて選択)
- Open WebUIをデプロイ(Dockerでワンクリック起動)
- チャット開始
セットアップ完了後、あなたは以下を手に入れます:
- 無料のAIチャットアシスタント
- 完全にプライベートなデータ保存
- オフライン動作
- カスタマイズ可能なモデルパラメータ
- 拡張可能な知識ベース(RAG)
- 連携可能なAPIインターフェース
このセットアップは個人の日常使用にも、小規模チームの内部デプロイにも最適です。さらに深く掘り下げたい場合は:
- Modelfileでモデルの動作をカスタマイズ
- マルチクラウドモデル統合(ローカルモデルとOpenAI APIを同時に使用)
- Kubernetesでの本番レベルデプロイ
ローカルChatGPTインターフェースの構築
OllamaとOpen WebUIでローカルにChatGPT風のAIチャットインターフェースをデプロイ
⏱️ 目安時間: 30 分
- 1
ステップ1: Ollamaのインストール
OSに応じてインストール方法を選択:
• macOS/Linux: curl -fsSL https://ollama.com/install.sh | sh
• Windows: irm https://ollama.com/install.ps1 | iex
• Docker: docker pull ollama/ollama:latest
インストール後、ollama --version で確認 - 2
ステップ2: モデルのダウンロード
ハードウェアに基づいてモデルを選択:
• 8GB RAM: ollama pull llama3.2:1b
• 16GB RAM: ollama pull llama3.2
• 16GB RAM + GPU: ollama pull llama3.1:8b
• 日本語最適化: ollama pull qwen2.5:7b - 3
ステップ3: Open WebUIのデプロイ
Docker単一コンテナデプロイ:
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
またはDocker Composeでデュアルコンテナを管理 - 4
ステップ4: 初期設定
http://localhost:3000 にアクセス:
• 管理者アカウントを作成
• Ollamaサービスを自動検出
• モデルを選択してチャット開始 - 5
ステップ5: 高度な機能の設定
オプション機能:
• RAG知識ベース: PDF/Markdownドキュメントをアップロード
• API連携: OpenAI互換エンドポイント
• GPUアクセラレーション: 自動検出、設定不要
FAQ
ローカルAIデプロイに必要なハードウェアは?
Ollamaはどのモデルをサポートしていますか?
• Meta Llamaシリーズ(1B-70B)
• DeepSeek R1推論モデル
• アリババQwenシリーズ(日本語最適化)
• Google Gemma、Mistralなど
ollama listでダウンロード済みモデルを確認、ollama pullで新規モデルをダウンロード
Open WebUIがOllamaに接続できない場合は?
ローカルデプロイしたAIはオフラインで使えますか?
既存ツール(VS Codeプラグインなど)と連携するには?
• エンドポイント: http://localhost:11434/api/chat
• OpenAI APIと同じ形式
• Python/Node.jsから直接呼び出し可能
APIアドレスをOpenAIからローカルアドレスに変更するだけでOK
参考リソース
- Ollama公式サイト
- Ollamaモデルライブラリ
- Open WebUI GitHub
- Ollama GitHub
- freeCodeCampチュートリアル
- DataCamp Open WebUIチュートリアル
質問がある場合は、OllamaとOpen WebUIのGitHub Issuesで検索してください—活発なコミュニティがあり、ほとんどの問題はすでに回答されています。
7 min read · 公開日: 2026年4月4日 · 更新日: 2026年4月5日
関連記事
Ollama Modelfile パラメータ詳解:カスタムモデル作成の完全ガイド
Ollama Modelfile パラメータ詳解:カスタムモデル作成の完全ガイド
Ollama API 呼び出し:curl から OpenAI SDK 互換インターフェースまで
Ollama API 呼び出し:curl から OpenAI SDK 互換インターフェースまで
Ollama モデル管理完全ガイド:ダウンロード、切り替え、削除とバージョン管理

コメント
GitHubアカウントでログインしてコメントできます