硬體規格與系統需求

在開始安裝前,請確認您的Windows 11專業版系統符合以下最低需求:

CPU

64位元處理器,建議至少8核心以上。支援AVX2指令集可提升效能。

RAM

至少16GB,建議32GB或以上。大型語言模型需要大量記憶體。

儲存空間

至少50GB可用空間,建議使用SSD以提升模型載入速度。

作業系統

Windows 11 專業版 22H2 或更新版本。必須啟用Hyper-V和WSL2功能。

網路

穩定網路連線以下載Docker映像檔和語言模型。

GPU (選配)

NVIDIA GPU 8GB VRAM以上,可大幅提升推理速度。需安裝CUDA工具包。

重要提醒: Windows 11 家用版無法使用 Hyper-V,必須升級到專業版或企業版才能使用Docker Desktop。

硬體需求對照表

組件 最低需求 建議規格 最佳體驗
CPU 4核心 / 支援虛擬化 8核心 / 支援AVX2 12+核心 / 支援AVX-512
記憶體 16 GB 32 GB 64 GB 或更多
儲存空間 50 GB 可用空間 100 GB SSD 500 GB NVMe SSD
GPU 整合顯示卡 NVIDIA RTX 3060 12GB NVIDIA RTX 4090 24GB

安裝前置需求

1 啟用Windows Hyper-V與WSL2

Windows Subsystem for Linux 2 (WSL2) 是運行Docker的必要條件。

# 以系統管理員身份開啟PowerShell,執行以下指令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
提示: 執行完上述指令後需要重新啟動電腦才能生效。

2 安裝WSL2與Linux發行版

重啟後,繼續執行以下指令:

# 設定WSL2為預設版本
wsl --set-default-version 2

# 安裝Ubuntu LTS版本(或其他您偏好的發行版)
wsl --install -d Ubuntu

# 查看已安裝的WSL發行版
wsl -l -v
常見問題: 如果遇到"WSL2 requires an update to its kernel component"錯誤,請下載並安裝 WSL2 Linux kernel update package

3 安裝Docker Desktop for Windows

前往Docker官方網站下載並安裝Docker Desktop:

下載網址:https://www.docker.com/products/docker-desktop/
重要警告: 安裝過程中務必勾選"Use WSL 2 instead of Hyper-V"選項,否則可能與Windows的Hyper-V產生衝突。

安裝完成後,確認Docker正常運作:

# 開啟PowerShell或命令提示字元,執行:
docker --version
docker-compose --version
docker run hello-world

安裝與配置 Open WebUI 和 Ollama

1 安裝 Ollama (Windows版)

Ollama 可以透過Windows安裝程式或指令行安裝:

下載網址:https://ollama.com/download/windows

或者使用指令行安裝:

# 在PowerShell中執行以下指令
curl -fsSL https://ollama.com/install.sh | sh

# 安裝完成後,啟動Ollama服務
ollama serve

# 保持此終端機開啟,另開一個終端機進行後續操作
提示: 若要讓Ollama以服務方式在背景運行,可以建立一個Windows排程任務或使用NSSM (Non-Sucking Service Manager)。

2 下載語言模型

Ollama 支援多種開源語言模型,以下是一些推薦的模型:

Llama 3.1 8B

Meta最新發佈的Llama 3.1系列,8B參數版本,適合一般用途。

ollama pull llama3.1:8b
5.1 GB

Mistral 7B

高效能7B模型,在許多基準測試中表現優異,記憶體需求較低。

ollama pull mistral
4.1 GB

Gemma 2B

Google的輕量級模型,適合硬體規格較低的系統。

ollama pull gemma:2b
1.6 GB
注意: 首次下載模型可能需要較長時間,請確保網路連線穩定。模型檔案較大,請確認有足夠的儲存空間。

3 建立 docker-compose.yml 檔案

建立一個專案目錄,並在其中建立 docker-compose.yml 檔案:

version: '3.8'

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"  # 將左側的3000改為您想要的本地端口
    environment:
      - "OLLAMA_BASE_URL=http://host.docker.internal:11434"  # 連接本機Ollama
      - "WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY:-default_secret_key_change_me}"  # 請更改此密鑰
      - "WEBUI_NAME=Local AI Assistant"
      - "WEBUI_URL=http://localhost:3000"
    volumes:
      - open-webui-data:/app/backend/data
    depends_on:
      - ollama
    restart: unless-stopped
    networks:
      - ai-network

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama-data:/root/.ollama
      - ./ollama-models:/root/.ollama/models  # 掛載模型目錄方便管理
    environment:
      - "OLLAMA_KEEP_ALIVE=24h"
      - "OLLAMA_HOST=0.0.0.0"
    restart: unless-stopped
    networks:
      - ai-network
    # 取消註解以下部分以使用GPU加速(需安裝NVIDIA容器工具包)
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: all
    #           capabilities: [gpu]

volumes:
  open-webui-data:
    driver: local
  ollama-data:
    driver: local

networks:
  ai-network:
    driver: bridge
安全提醒: 請務必更改 WEBUI_SECRET_KEY 的值,使用強密碼以提高安全性。您可以建立 .env 檔案來管理環境變數。
GPU加速配置: 如果您有NVIDIA GPU並已安裝CUDA工具包,可以取消註解docker-compose.yml中的GPU部分,並安裝NVIDIA Container Toolkit以啟用GPU加速。

4 啟動 Open WebUI 和 Ollama 容器

在包含 docker-compose.yml 的目錄中執行:

# 進入專案目錄
cd /path/to/your/project

# 啟動服務(在背景運行)
docker-compose up -d

# 查看容器狀態
docker-compose ps

# 查看日誌
docker-compose logs -f

# 停止服務
docker-compose down

# 停止並刪除所有資料(謹慎使用)
docker-compose down -v

測試與驗證

1 確認服務正常運行

開啟瀏覽器,訪問以下網址:

Open WebUI 介面: http://localhost:3000
Ollama API 狀態: http://localhost:11434
Ollama API 版本檢查: http://localhost:11434/api/version

2 測試 Ollama API

使用 curl 或 PowerShell 測試 Ollama API:

# 測試 Ollama API 是否正常回應
curl http://localhost:11434/api/tags

# 使用 PowerShell 測試
Invoke-RestMethod -Uri "http://localhost:11434/api/tags" -Method Get

# 測試模型生成(將 "llama3.1:8b" 替換為您實際下載的模型)
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1:8b",
  "prompt": "為什麼天空是藍色的?",
  "stream": false
}'

3 設定 Open WebUI

首次訪問 Open WebUI 時,需要進行以下設定:

註冊管理員帳戶(首次使用時)
在設定中確認 Ollama 連接位址為 http://host.docker.internal:11434
選擇已下載的模型開始對話
可根據需求調整模型參數(溫度、top_p等)

常見問題與解決方案

網路連接問題
記憶體不足
GPU問題
權限問題

容器無法互相連接

症狀: Open WebUI 無法連接到 Ollama,顯示 "Connection refused" 或 "Cannot connect to Ollama"。

解決方案:

# 1. 檢查容器網路設定
docker network ls
docker network inspect ai-network

# 2. 檢查容器是否在同一網路
docker-compose ps
docker inspect open-webui | grep Network
docker inspect ollama | grep Network

# 3. 嘗試在docker-compose.yml中使用 "host.docker.internal" 或 "gateway.docker.internal"
# 4. 或者使用網路模式為 "host"(僅限Linux,Windows不支援)

記憶體不足導致容器崩潰

症狀: Ollama 容器頻繁重啟,或模型載入失敗。

解決方案:

# 1. 限制容器記憶體使用量(在docker-compose.yml中)
services:
  ollama:
    deploy:
      resources:
        limits:
          memory: 8G  # 根據您的系統調整
        reservations:
          memory: 4G

# 2. 使用較小的模型
ollama pull gemma:2b  # 僅需1.6GB記憶體

# 3. 增加Windows虛擬記憶體
# 設定路徑:控制台 > 系統 > 進階系統設定 > 效能 > 進階 > 虛擬記憶體

# 4. 減少模型載入時的執行緒數(在Ollama啟動參數中)
OLLAMA_NUM_PARALLEL=2 ollama serve

GPU加速無法使用

症狀: 即使有NVIDIA GPU,推理速度仍然緩慢。

解決方案:

#1.參閱NVIDIA Container Toolkit 安裝與 GPU 加速配置指南
#2. 在docker-compose.yml中啟用GPU支援(取消註解GPU部分)

# 3. 重啟Docker服務
sudo systemctl restart docker  # Linux
# Windows: 重啟Docker Desktop

# 4. 測試GPU是否可用
docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi

檔案權限問題

症狀: 容器無法寫入掛載的卷,顯示權限錯誤。

解決方案:

# 1. 在Windows上,WSL2的檔案權限可能導致問題
# 確保專案目錄位於WSL2檔案系統中(例如 /home/username/projects)
# 而不是Windows檔案系統(如 /mnt/c/...)

# 2. 調整掛載卷的權限
# 在docker-compose.yml中指定使用者ID
services:
  open-webui:
    user: "1000:1000"  # 替換為您的使用者ID和群組ID

# 3. 檢查目錄權限
ls -la /path/to/your/project

# 4. 更改目錄權限
chmod -R 755 /path/to/your/project
chown -R $USER:$USER /path/to/your/project

安裝完成!

恭喜您已成功安裝 Open WebUI + Ollama + Docker 環境!

現在可以開始使用您的本地AI助手了。前往 http://localhost:3000 開始對話。