本地 AI 聊天室快速部署:Ollama + Open WebUI 完整指南
本文將詳細介紹如何透過 Docker Compose 快速部署 Ollama 與 Open WebUI,打造本地 AI 聊天室。我們會涵蓋 GPU 直通設定、多模型同時載入的記憶體管理策略,以及自訂模型檔(Modelfile)的進階配置技巧。根據史丹佛大學以人為本人工智慧研究所(Stanford HAI)的報告,本地 AI 部署需求近年持續增長,隱私敏感場景尤其青睞完全離線的解決方案。
一、為何選擇 Ollama + Open WebUI 組合?
Ollama 是開源的本地大型語言模型執行環境,提供簡便的模型管理與推理服務。Open WebUI 則是功能完善的 Web 介面,支援對話歷史、模型切換、系統提示詞自訂等功能。根據 Gartner 人工智慧研究(Gartner AI Research)的技術成熟度分析,本地部署 AI 助手已進入「早期採用者」階段,企業採用率逐年上升。
此組合最大優勢在於:完全離線可用、資料不離開本地裝置、可自由切換數十種開源模型(如 Llama 3、Mistral、Qwen 等),且支援「身份暗物質」概念下的企業級身份驗證整合——這是企業部署時必須考慮的關鍵要素。
二、Docker Compose 完整配置教學
以下是推薦的 docker-compose.yml 設定檔,支援 GPU 加速與持久化儲存:
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- open_webui_data:/app/backend/data
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama_data:
open_webui_data:
執行以下指令啟動服務:
docker-compose up -d
服務啟動後,存取 http://localhost:3000 即可進入 Web 介面。首次使用需點擊左下角設定,確認 Ollama URL 已正確指向 http://ollama:11434。
三、多模型切換與記憶體管理策略
Open WebUI 支援在對話介面左上角即時切換模型。但要同時載入多個模型,需考量 GPU VRAM 是否足夠。以 NVIDIA RTX 4090(24GB VRAM)為例,建議配置如下:
- Llama 3 8B:約需 16GB VRAM,單一模型運行
- Qwen 2.5 7B:約需 14GB VRAM,可與較小模型並存
- Mistral 7B:約需 14GB VRAM,支援 CPU fallback
若要管理多個模型,可在容器內執行:
# 進入 Ollama 容器
docker exec -it ollama ollama list
# 拉取新模型
docker exec -it ollama ollama pull llama3
# 移除不需要的模型
docker exec -it ollama ollama remove [model-name]
麻省理工學院計算機科學與人工智慧實驗室(MIT CSAIL)的研究指出,模型量化(如 Q4_K_M)是降低記憶體需求的關鍵技術,建議優先使用量化後的模型版本。
四、自訂 Modelfile 進階設定
Modelfile 允許你自訂模型行為,包括系統提示詞、回應格式與功能啟用。以下是企業客服場景的範例:
FROM llama3
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM """
你是企業客服助手,專門回答產品相關問題。
請保持專業、親切的語氣,必要時引導用戶查看支援文件。
禁止提供任何醫療、法律或財務建議。
"""
建立 Modelfile 後,使用以下指令載入:
docker exec -it ollama ollama create customer-support -f /path/to/Modelfile
載入完成後,即可在 Open WebUI 中選擇 customer-support 模型使用。
五、常見問題與解決方案
- GPU 未被偵測:確認 NVIDIA Driver 已安裝,並在 docker-compose 中正確設定 NVIDIA_VISIBLE_DEVICES 環境變數。
- 模型下載緩慢:可設定 HTTP_PROXY 環境變數,或使用鏡像源加速下載。
- 記憶體不足:關閉其他佔用 GPU 的程式,或使用更小的量化模型版本。