Open WebUI:Ollama用のChatGPT風インターフェース
Open WebUI Ollamaは現在、クラウドに依存せず、自分のマシンでChatGPTのようなインターフェースを使うための最も実用的な組み合わせです。この完全にセルフホスト型の構成は、Ollamaサーバーを、会話履歴、モデル管理、文書RAGを備えた複数ユーザー対応のウェブアプリケーションに変えます。本ガイドでは、DockerによるOpen WebUI Ollamaのインストール、ネットワーク設定、VRAM容量に応じた対応モデル、高度な機能(RAG、複数ユーザー対応、MCP)、そして内部の本番環境に導入する前に知っておくべき制約を詳しく説明します。
Open WebUIとは何か、そしてなぜOllamaと組み合わせるべきか
Open WebUI (anciennement Ollama WebUI) は SvelteKit + FastAPI で構成されたオープンソースのフロントエンドであり、BSD-3 ライセンスのもとで公開されています github.com/open-webui/open-webui。ChatGPTと同等の対話インターフェースを提供し、ローカルの推論バックエンドに接続されています。Ollamaはこのバックエンドとして機能するデーモンで、量子化されたGGUFモデルを読み込み、ポート11434でOpenAI互換のHTTP APIを公開します。
両者の組み合わせにより、 ローカル LLM インターフェース として必要な機能をすべて備えています:
- Frontend : Open WebUI がポート8080で動作(チャット、履歴、システムプロンプト、Python関数)
- Backend : Ollama をポート 11434 で使用(GPUメモリ管理、量子化、ストリーミング)
- ストレージ : チャットやエンベディング用に SQLite または PostgreSQL を使用
LM Studioがシングルユーザー向けでデスクトップ専用なのに対し、Open WebUIはアカウント、グループ、モデルごとの権限を管理でき、ベクトルデータベースChromaDBを内蔵したRAGモードも備えています。複数のメンバーで推論サーバーを共有する場合に、優先して選びたい選択肢です。
Docker経由でのインストール:推奨される方法
L'installation WebUI Docker は Open WebUI チームがサポートする方式です。Pythonの依存関係の競合を回避し、アトミックな更新を可能にします。
前提条件 :
- Docker 24以降およびDocker Compose v2
- ホスト上にインストールされた、またはコンテナ化されたOllama(参照: ollama.com/download)
- バージョン535以上のドライバーとnvidia-container-toolkitを備えたNVIDIA GPU、または小規模モデル用のCPU
最小限のコマンド(ホストにOllamaがインストール済みの場合) :
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
その後、インターフェースへのアクセス先は http://localhost:3000。最初に作成されたアカウントには、自動的に管理者権限が付与されます。
オールインワンのdocker-composeスタック(Ollama + WebUI + NVIDIA GPU) : 参考ファイルを参照してください docs.openwebui.com/getting-started/quick-start. サービス ollama は永続ボリュームをマウントする必要があります /root/.ollama 再起動時にダウンロードしたモデルを保持しないと、毎回数百ギガバイトを再ダウンロードしなければなりません docker compose down.
AMD ROCm向けには、イメージを用いてください ghcr.io/open-webui/open-webui:main を組み合わせて ollama/ollama:rocm。Q4_K_MでのRX 7900 XTXの性能は、RTX 4090の約70~80%です(推定値で、モデルによって異なります)。
あなたのハードウェアに適したモデルを選択
Open WebUIは、Ollamaのローカルレジストリにあるすべてのモデルを表示します。制約となるのは、引き続きVRAMです。以下では、一般向けおよび業務向けのハードウェアに合わせた3つの段階を紹介します。
RTX 4090(24 GB の VRAM) は、CPUへの部分的なオフロードを併用したQ4量子化の30〜70Bモデルに適しています:
- Qwen 2.5 72B Instruct (72B、Qwen License)— Q4 での VRAM 使用量は約 42 GB、コンテキスト長は 131072。CPU へのオフロード、または 2 枚目の GPU が必要です。
- Llama 3.3 70B Instruct (70B, Llama 3.3 Community) — VRAM Q4 ~40 GB。同様に、オフロードが必要です。
- DeepSeek R1 Distill Llama 70B — 推論性能が高く、MMLUスコアは最上位の70Bモデルに匹敵します(バージョンごとの確認が必要です)。
2× RTX 6000 Ada(合計96 GB)のワークステーション なら、コンパクトなMoEモデルも実行対象にできます:
- gpt-oss 120B (117B、Apache 2.0、OpenAI)— Q4でのVRAM使用量は約70GB、コンテキスト長は128000。OpenAIのオープンモデルで、Ollamaにネイティブ対応しています。
- Mistral Small 4 (119B、Apache 2.0)— コンテキスト長256000、フランス語用途で優れたバランス。
- Qwen 3.5 122B-A10B — 有効パラメータ数が10BのMoEで、モデルの規模に対してレイテンシが非常に低い。
8×H100(640GB)サーバーまたはクラスタ 境界を広げます:
- DeepSeek V3.2 (685B, MIT) — VRAM Q4 ~410 GB
- Kimi K2.6 (1000B、Modified MIT) — VRAM Q4 約600GB、コンテキスト256000
- DeepSeek V4 Pro 1.6T — 最先端のMoE、コンテキスト長100万トークン
ご自身のGPUに応じて必要なリソースを正確に見積もるには、次のツールをご利用ください: quelllm.frの設定ツール は、利用可能なVRAM、希望する量子化、目標のコンテキスト長を組み合わせて判断します。
高度な機能:RAG、関数、MCP
Open WebUIは単なるチャットを超えています。インストール時に設定すべき3つの機能があります。
統合されたRAG :PDF、DOCX、TXT、またはURLを「コレクション」に配置します。Open WebUIはそれらを分割し(デフォルトのチャンクサイズ1500、オーバーラップ100)、~経由で埋め込みを生成します sentence-transformers/all-MiniLM-L6-v2 ローカル、またはOllama経由(nomic-embed-text), および ChromaDB に保存します。推論時、関連するチャンクをコンテキストに注入します。大量のデータベースの場合、変数を用いて PostgreSQL + pgvector に切り替えます。 VECTOR_DB=pgvector.
Python関数(パイプライン) : Open WebUI は事前または事後処理で任意のコードを実行できます。例:「code」というキーワードを含むプロンプトを自動的に Qwen3-Coder-Next 80B-A3B, およびその他のバージョン Mistral Medium 3.5 128B。パイプラインはポート9099を使う別のコンテナ内で動作し、この分離はセキュリティ面で役立ちます。
MCP(モデルコンテキストプロトコル)のサポート :バージョン0.6以降、Open WebUIはMCPサーバーを利用しています。参照: 公式仕様 で、利用可能なサーバー(filesystem、GitHub、Postgresなど)を確認してください。
フロントエンドの詳細な比較はこちら: quelllm.fr/compare/open-webui-vs-lm-studio.
観測されたパフォーマンスとトークン/秒
生成速度はモデルとGPUの組み合わせによって異なります。Ollama 0.5+とOpen WebUI 0.6+を使用し、Q4_K_M量子化で測定した参考値をいくつか示します:
- Llama 3.1 70B RTX 4090を2枚使用(Ollamaの実験的なテンソル並列処理):生成時は約18〜22トークン/秒(推定)
- gpt-oss 120B H100 80GBでは60〜80トークン/秒(オフロードの条件に応じて要確認)
- Qwen 3 235B-A22B 4×A100 80GB上で:アクティブになるパラメータ数が22BだけのMoEアーキテクチャにより、45〜55トークン/秒
Open WebUI のWebSocketストリーミングは、わずかな遅延(<10ms)をもたらします。ボトルネックは推論そのものになります。最適化のために、 OLLAMA_FLASH_ATTENTION=1 et OLLAMA_KV_CACHE_TYPE=q8_0 をOllamaコンテナの環境で有効にすると、コンテキストのメモリ使用量を30〜40%削減できます(参照: github.com/ollama/ollama/blob/main/docs/faq.md).
推論モデルのような、 DeepSeek R1 671B、1リクエストあたりの生成トークン数が3〜10倍になることを想定してください(内部の思考連鎖)。そのため、高性能なインフラストラクチャであっても、応答時間は数分かかる場合があります。
セキュリティおよびマルチユーザー展開
企業で利用する場合は、次の3つの注意事項を守る必要があります:
- TLSリバースプロキシ : TraefikまたはCaddyをOpen WebUIの前に配置してください。デフォルトの8080ポートは暗号化機能がありません。
- SSO認証 : Open WebUI は OIDC (Keycloak, Authentik) を変数経由でサポートしています
OAUTH_*. 開くアカウントの作成を無効化してくださいENABLE_SIGNUP=false. - モデルごとのRBAC :管理者インターフェースから、40GB以上のVRAMを必要とする重いモデルをシニアユーザーに限定して制限することで、ユーザーが待ち行列を飽和させないようにします。
ログを定期的に監査してください /app/backend/data/audit.log がプロンプトやファイルのアップロードを記録します。
FAQ
Q:Open WebUI は Ollama なしで動作しますか?
はい。Open WebUIは、vLLM、llama.cpp server、LiteLLM、TGIなど、OpenAI互換のAPIをすべて利用できます。「設定 → 接続」でURLを設定してください。Ollamaは、CLIがダウンロード、GGUF量子化、メモリ管理を自動で行うため、始める際に最も簡単な選択肢です。成熟したテンソル並列処理を使って高性能な環境をデプロイする場合は、vLLMまたはSGLangが適しています。
Q:始めるには最低どれくらいのVRAMが必要ですか?
8 GBのVRAM(RTX 3060、4060)では、軽量な蒸留版などの7〜8Bモデルを快適に動作させられます。12〜16 GBなら、13〜14Bを目安にしてください。経験則では、Q4_K_MでVRAM ≈ パラメータ数 × 0.6となり、8Kコンテキスト用にさらに1〜2 GBが必要です。詳細は、 quelllm.fr/guide/vram-quantification 量子化形式ごとの詳細(Q4、Q5、Q8、FP16)をご確認ください。
Q:Open WebUI を Docker なしでインストールする方法は?
Via pip install open-webui puis open-webui serveこの方法は記載されていますが、完全に分離されたものではありません。他のPython環境との衝突や、更新がやや複雑になる可能性があります。開発用マシンに限定してご利用ください。単一ユーザー用のワークステーションでは、LM StudioまたはJanの方がより簡単です。比較は以下のページで行えます。 quelllm.fr/compare/lm-studio-vs-jan.
Q:Open WebUI を複数のOllama サーバーに接続できますか?
はい。「設定」→「接続」で、複数のOllamaのURLを追加してください(例: http://gpu-01:11434, http://gpu-02:11434Open WebUI は利用可能なモデルを集約します。ルーティングは手動(ユーザーがモデルを選択)です。自動ロードバランシングを実現するには、LiteLLMをプロキシとして挿入してください。これにより、モデルの分散が可能になります。 Mixtral 8x22B Instruct ノード上で、 Llama 3.1 405B Instruct を別のノードに配置する際に役立ちます。
Q:会話データは保存時に暗号化されていますか?
デフォルトでは有りません。SQLiteベースです /app/backend/data/webui.db はメッセージを平文で保存します。保存時の暗号化には、暗号化されたファイルシステム上のDockerボリュームを使用するか(LUKS、ZFSのネイティブ暗号化)、Transparent Data Encryptionを備えたPostgreSQLへ移行してください。ネットワーク通信は、前述のTLSリバースプロキシで暗号化できます。
Q:Open WebUIは画像認識や画像に対応していますか?
はい、マルチモーダルモデルを使えば可能です。会話に画像をアップロードしてください。モデルが画像入力に対応していれば、Open WebUIが画像をbase64形式にエンコードしてOllamaに送信します。カタログに掲載されている対応モデル: Qwen 2.5 VL 72B, Qwen 3 VL 235B-A22B, LLaVA-OneVision 72B et Molmo 72B.
結論
Open WebUI Ollama は、ラップトップから GPU クラスタまで、セルフホスト環境で ChatGPT 風のインターフェースを提供するためのリファレンススタックです。Docker によるインストールは 15 分で完了し、RBAC と RAG の設定には数時間かかります。モデルの選択が決定要因です。パラメータ、量子化、利用可能な VRAM を正確に照合してください。登録済みの249モデルからハードウェアの制約に合うものを探すには、以下をご覧ください。 ローカルLLMナビ の完全なカタログ またはそのままにします 構成ツール に、お使いのGPUに最適なモデルと量子化の組み合わせを推奨させてください。