引言
愈來愈多香港用戶關注 AI 私隱同數據安全。與其將資料交俾第三方雲端服務,不如喺自己嘅電腦或者 VPS 上本地部署 LLM(大型語言模型)。呢篇文章會由零開始,教你用 Docker 喺本地或 VPS 上自建 AI 服務。
無論你係用緊:
- 🖥️ 桌面電腦(NVIDIA GPU / Apple Silicon)
- ☁️ VPS 伺服器(例如 Hetzner、Contabo)
- 🍓 Raspberry Pi(行得慢但可以玩下)
呢篇教學都啱你用。
事前準備
硬件要求
| 模型大小 | 最低 RAM | 推薦 VRAM | 硬碟空間 |
|---|---|---|---|
| 7B 模型(如 Llama 3、Qwen 2.5) | 8GB | 6GB VRAM | 10GB |
| 13B 模型 | 16GB | 12GB VRAM | 20GB |
| 70B 模型 | 48GB | 40GB VRAM | 60GB |
軟件要求
- Docker 已安裝
- NVIDIA Container Toolkit(如有 GPU)
安裝 Docker
Ubuntu / Debian(包括大部分 VPS)
# 安裝必要套件
sudo apt update && sudo apt install -y ca-certificates curl
# 加入 Docker 官方 GPG key
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 加入 Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 將自己加入 docker group(避免每次打 sudo)
sudo usermod -aG docker $USER
# 重新登入或執行 newgrp docker
newgrp docker
macOS
brew install --cask docker
# 或者直接去 https://docs.docker.com/desktop/setup/install/mac-install/ 下載 Docker Desktop
Windows
去 Docker Desktop 官網 下載安裝檔,或者用 WSL2 模式行:
wsl --install -d Ubuntu
# 然後喺 WSL2 入面跟上面 Ubuntu 教學安裝
方案一:Ollama(最簡單、適合初學者)
Ollama 係目前最簡單嘅本地 LLM 運行方案,一行指令就搞掂。
用 Docker 執行 Ollama
# 啟動 Ollama 伺服器
docker run -d --name ollama -p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama
# 如果你有 NVIDIA GPU
docker run -d --name ollama -p 11434:11434 \
--gpus all \
-v ollama_data:/root/.ollama \
ollama/ollama
下載同測試模型
# 下載模型(例如 Llama 3.1 8B)
docker exec ollama ollama pull llama3.1
# 或者用 Qwen 2.5(對繁體中文更好)
docker exec ollama ollama pull qwen2.5:7b
# 測試一下
docker exec ollama ollama run llama3.1 "用廣東話介紹自己"
用 Open WebUI 做靚靚介面
Open WebUI 係一個類似 ChatGPT 嘅網頁介面,可以連接到 Ollama:
# docker-compose.yml
version: '3.8'
services:
ollama:
image: ollama/ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- webui_data:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama_data:
webui_data:
# 啟動
docker compose up -d
# 打開瀏覽器去 http://localhost:3000
🎉 搞掂! 你已經有自己嘅 ChatGPT-like 介面,完全本地運行,資料唔會離開你嘅電腦。
方案二:LocalAI(功能更全面)
LocalAI 係一個 OpenAI API 嘅 drop-in replacement,即係你現有用緊 OpenAI API 嘅軟件可以直接轉用 LocalAI,唔使改 code。
docker run -d --name localai -p 8080:8080 \
-v localai_models:/build/models \
localai/localai:latest-gpu-nvidia-cuda-12 \
phi-4
# 測試 API
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "phi-4",
"messages": [{"role": "user", "content": "用廣東話介紹 Docker"}]
}'
LocalAI 仲支援:
- 🖼️ 圖片生成(Stable Diffusion)
- 🎤 語音轉文字(Whisper)
- 🔊 文字轉語音
- 🔌 100% OpenAI API 相容
方案三:vLLM(高效能推理、適合生產環境)
如果你打算做高流量嘅 API server,vLLM 係最佳選擇。佢用 PagedAttention 技術,可以大幅提升吞吐量。
# 用 Docker 執行 vLLM
docker run -d --name vllm --gpus all \
-p 8000:8000 \
-v vllm_models:/root/.cache/huggingface \
vllm/vllm-openai:latest \
--model Qwen/Qwen2.5-7B-Instruct \
--max-model-len 8192
# 使用 API(同 OpenAI 相容)
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-7B-Instruct",
"messages": [{"role": "user", "content": "香港有咩本地 AI 社群?"}],
"max_tokens": 500
}'
推薦模型選擇(繁體中文優先)
| 模型 | 大小 | 繁體中文能力 | 推薦用途 |
|---|---|---|---|
| Qwen 2.5 7B | 7B | ⭐⭐⭐⭐⭐ | 日常問答、內容生成 |
| Llama 3.1 8B | 8B | ⭐⭐⭐ | 英文為主嘅任務 |
| Phi-4 | 14B | ⭐⭐⭐⭐ | 輕量級、速度快 |
| DeepSeek V2 Lite | 16B | ⭐⭐⭐⭐⭐ | 性價比高 |
| Qwen 2.5 72B | 72B | ⭐⭐⭐⭐⭐ | 高品質輸出(需要較多 VRAM) |
效能優化貼士
量化模型(用少啲 VRAM)
# 用 4-bit 量化版本
docker exec ollama ollama pull qwen2.5:7b-q4_K_M
# 或者用 Qwen 2.5 1.5B(適合 Raspberry Pi)
docker exec ollama ollama pull qwen2.5:1.5b
GPU 加速
# macOS Apple Silicon(M1/M2/M3/M4)
# Ollama 會自動用 Metal 加速,唔需要額外設定
# NVIDIA GPU(檢查 CUDA 版本)
nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
用 Nginx 做反向代理(VPS 用)
server {
listen 80;
server_name ai.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_buffering off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
之後可以用 Let’s Encrypt + Certbot 加 SSL 證書。
常見問題
Q:冇 GPU 可唔可以玩?
可以。 CPU 模式一樣行到,只係慢啲。7B 模型喺現代 CPU 上大約每秒 3-8 tokens,足夠做簡單問答。
Q:VPS 最少要咩規格?
最少 4GB RAM + 40GB SSD。推薦 Hetzner CX22(4GB RAM/40GB SSD,約 €2.99/月)行 Ollama + Qwen 2.5 7B(量化版)。
Q:點樣遠端存取屋企嘅 AI Server?
用 Cloudflare Tunnel 或者 Tailscale 都得,唔使開 port。
# Tailscale(最簡單)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 然後你就可以用 tailscale IP 連線
總結
自建 AI 服務已經唔係高科技嘅專利。用 Docker + Ollama,30 分鐘內你就可以擁有一個私人 ChatGPT。對於注重私隱嘅香港用戶、或者想慳 API 費用嘅開發者,本地部署絕對值得一試。
下一步可以嘗試:
- 用 RAG(Retrieval-Augmented Generation)加入自己嘅文件
- 建立 Telegram Bot 連接本地 LLM
- 用多個模型做 MoE(Mixture of Experts)路由
記住訂閱 AgentFlow HK,我哋會繼續推出更多實用嘅 AI 教學!