在自己的服务器上运行语言模型,可以让你的提示词和文档保持私密,并免去按 token 计费。Ollama 让模型部分变得简单,Open WebUI 则在其上提供类似 ChatGPT 的界面。本指南在运行 Ubuntu 的 GPU 服务器上安装这两者。
你需要什么
- 一台 GPU 服务器。模型大小决定 GPU。一个 7B 到 8B 参数的 4 位模型大约需要 5 到 6 GB 显存。70B 的模型需要多得多,通常是 40 GB 或更多。请参阅私有 LLM 托管页面,了解对应规格的选项。
- Ubuntu 22.04 或 24.04,并已安装 NVIDIA 驱动。我们的 GPU 套餐可以预装好 CUDA。
- Docker,用于 Open WebUI。如有需要,请参阅如何安装 Docker。
第 1 步:检查 GPU
nvidia-smi
你应该能看到你的 GPU、驱动版本和 CUDA 版本。如果找不到该命令,请先为你的显卡安装 NVIDIA 驱动。
第 2 步:安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
systemctl status ollama
安装程序会设置一个监听 127.0.0.1:11434 的 systemd 服务。由于这是管道式安装,如果你愿意,可以在运行前先阅读脚本。
第 3 步:拉取并测试模型
ollama pull llama3.1:8b
ollama run llama3.1:8b "Explain what a VPS is in two sentences."
ollama ps
ollama ps 会显示模型是否已加载到 GPU 上。如果显示 CPU,说明没有使用 GPU,响应会很慢。
第 4 步:添加 Open WebUI
在 Docker 中运行 Open WebUI,并让它指向宿主机上的 Ollama:
docker run -d --name open-webui --restart unless-stopped \
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
-p 127.0.0.1:3000:8080 \
ghcr.io/open-webui/open-webui:main
绑定到 127.0.0.1 意味着它暂时不会暴露到互联网。第一次打开时请创建管理员账户。
第 5 步:在前面加上 HTTPS
使用 Caddy 自动获取证书。先把域名指向服务器,然后:
sudo apt install -y caddy
echo 'chat.example.com {
reverse_proxy 127.0.0.1:3000
}' | sudo tee /etc/caddy/Caddyfile
sudo systemctl reload caddy
在 Open WebUI 的设置中,关闭开放注册,这样只有你能创建账户。
保持私密
- 切勿把 11434 端口(Ollama API)暴露到互联网。它没有登录功能。
- 使用防火墙,只允许 SSH、80 和 443。参见保护新 VPS。
- 把模型和聊天记录保存在服务器的磁盘上。它们不会离开这台机器。