言語を切り替える
テーマを切り替える

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 1B1B740MBollama run llama3.2:1b
8GB RAM、GPUなしGemma 3 2B2B1.4GBollama run gemma3:2b
16GB RAMLlama 3.2 3B3B2GBollama run llama3.2
16GB RAMQwen 2.5 7B7B4GBollama run qwen2.5:7b
16GB RAM + GPULlama 3.1 8B8B4.7GBollama run llama3.1:8b
32GB RAM + GPUDeepSeek R1 14B14B8GBollama run deepseek-r1:14b
64GB RAM + GPULlama 3.3 70B70B39GBollama 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が検索可能な知識ベースに変換します。

使い方:

  1. 左側の”Documents”タブをクリック
  2. “Upload”をクリックしてファイルを選択(PDF、Markdown、TXT、DOCXをサポート)
  3. ファイルアップロード後、システムが自動的に処理してインデックスを構築

アップロード完了後、チャット時に”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”と表示。

トラブルシューティング:

  1. Ollamaサービスが実行されていることを確認:
curl http://localhost:11434

"Ollama is running" が返されるはずです。

  1. Dockerを使用している場合、ネットワーク設定を確認:
docker exec -it open-webui curl http://host.docker.internal:11434

動作しない場合、OLLAMA_BASE_URL 環境変数を手動で設定する必要があるかもしれません。

Q3: GPUが認識されない

現象: 推論速度が非常に遅い、nvidia-smi でGPUが使用されていないと表示。

トラブルシューティング:

  1. NVIDIAドライバーを確認:
nvidia-smi

GPU情報が表示されるはずです。

  1. 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インターフェースを構築する、その核心的なステップはこれだけです:

  1. Ollamaをインストール(1コマンド)
  2. 適切なモデルをダウンロード(ハードウェアに基づいて選択)
  3. Open WebUIをデプロイ(Dockerでワンクリック起動)
  4. チャット開始

セットアップ完了後、あなたは以下を手に入れます:

  • 無料のAIチャットアシスタント
  • 完全にプライベートなデータ保存
  • オフライン動作
  • カスタマイズ可能なモデルパラメータ
  • 拡張可能な知識ベース(RAG)
  • 連携可能なAPIインターフェース

このセットアップは個人の日常使用にも、小規模チームの内部デプロイにも最適です。さらに深く掘り下げたい場合は:

  • Modelfileでモデルの動作をカスタマイズ
  • マルチクラウドモデル統合(ローカルモデルとOpenAI APIを同時に使用)
  • Kubernetesでの本番レベルデプロイ

ローカルChatGPTインターフェースの構築

OllamaとOpen WebUIでローカルにChatGPT風のAIチャットインターフェースをデプロイ

⏱️ 目安時間: 30 分

  1. 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

    ステップ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

    ステップ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

    ステップ4: 初期設定

    http://localhost:3000 にアクセス:

    • 管理者アカウントを作成
    • Ollamaサービスを自動検出
    • モデルを選択してチャット開始
  5. 5

    ステップ5: 高度な機能の設定

    オプション機能:

    • RAG知識ベース: PDF/Markdownドキュメントをアップロード
    • API連携: OpenAI互換エンドポイント
    • GPUアクセラレーション: 自動検出、設定不要

FAQ

ローカルAIデプロイに必要なハードウェアは?
最低8GB RAM、Intel i5プロセッサ、10GBストレージ。推奨は16GB以上のRAM、NVIDIA RTX 3060またはApple Silicon Macでより良いパフォーマンス。大きなモデル(70Bなど)には64GB RAMが必要です。
Ollamaはどのモデルをサポートしていますか?
主要なオープンソースモデルをサポート:

• Meta Llamaシリーズ(1B-70B)
• DeepSeek R1推論モデル
• アリババQwenシリーズ(日本語最適化)
• Google Gemma、Mistralなど

ollama listでダウンロード済みモデルを確認、ollama pullで新規モデルをダウンロード
Open WebUIがOllamaに接続できない場合は?
まずOllamaサービスが実行されていることを確認(curl http://localhost:11434)。Dockerデプロイの場合、ネットワーク設定を確認し、OLLAMA_BASE_URL環境変数をhttp://host.docker.internal:11434に手動設定する必要があるかもしれません
ローカルデプロイしたAIはオフラインで使えますか?
はい。モデルダウンロード後は完全にオフラインで動作し、ネット接続は不要です。チャット履歴と知識ベースドキュメントはすべてローカルに保存され、旅行中やネットが不安定な環境に最適です
既存ツール(VS Codeプラグインなど)と連携するには?
OllamaはOpenAI互換API(ポート11434)を提供:

• エンドポイント: http://localhost:11434/api/chat
• OpenAI APIと同じ形式
• Python/Node.jsから直接呼び出し可能

APIアドレスをOpenAIからローカルアドレスに変更するだけでOK

参考リソース

質問がある場合は、OllamaとOpen WebUIのGitHub Issuesで検索してください—活発なコミュニティがあり、ほとんどの問題はすでに回答されています。

7 min read · 公開日: 2026年4月4日 · 更新日: 2026年4月5日

コメント

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

関連記事