搬瓦工 VPS 部署 Text Generation WebUI 大模型界面教程
Text Generation WebUI(也称为 Oobabooga WebUI)是一个功能丰富的大语言模型 Web 界面,支持多种推理后端和模型格式。它提供了类似 ChatGPT 的对话界面,同时包含模型管理、参数调节、角色扮演、Notebook 等多种模式。本文将介绍如何在搬瓦工 VPS 上完整部署 Text Generation WebUI。
一、环境要求
- 操作系统:Ubuntu 20.04 或更高版本。
- 内存:至少 4GB,推荐 8GB 以上。
- 磁盘:至少 20GB 可用空间(程序本身加模型文件)。
- Python:Python 3.10 或 3.11。
选购搬瓦工 VPS 时建议选择内存较大的方案,具体可参考 全部方案。
二、安装系统依赖
apt update && apt upgrade -y
apt install git python3 python3-pip python3-venv wget curl -y
三、下载并安装 Text Generation WebUI
cd /opt
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui
3.1 使用一键安装脚本
项目提供了一键安装脚本,会自动创建虚拟环境并安装依赖:
chmod +x start_linux.sh
./start_linux.sh
安装脚本会询问你的硬件环境,在搬瓦工 VPS 上选择 CPU only (N) 选项。
3.2 手动安装
如果一键脚本运行有问题,可以手动安装:
python3 -m venv /opt/text-generation-webui/venv
source /opt/text-generation-webui/venv/bin/activate
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements_cpu_only.txt
四、下载模型
Text Generation WebUI 内置了模型下载功能,也可以手动下载。将模型文件放入 models 目录:
mkdir -p /opt/text-generation-webui/models
# 使用内置下载器下载 GGUF 模型
python3 download-model.py TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF --specific-file tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf
也可以手动将 GGUF 格式的模型文件复制到 models 目录下。推荐在 CPU 环境下使用 GGUF 格式的量化模型。
五、启动 WebUI
cd /opt/text-generation-webui
source venv/bin/activate
python3 server.py \
--listen \
--listen-port 7860 \
--cpu \
--verbose
主要启动参数:
--listen:监听所有网络接口,允许远程访问。--listen-port:Web 界面端口,默认 7860。--cpu:强制使用 CPU 推理。--api:同时启用 API 接口。--api-port:API 端口,默认 5000。--gradio-auth user:pass:设置 Web 界面的登录密码。
六、配置访问密码
在公网环境中强烈建议设置密码保护:
python3 server.py \
--listen \
--listen-port 7860 \
--cpu \
--gradio-auth admin:your_secure_password \
--api --api-port 5000
七、使用 API 接口
启用 --api 参数后,可以通过 REST API 调用模型:
# OpenAI 兼容接口
curl http://localhost:5000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "你好"}],
"mode": "chat",
"max_tokens": 200
}'
八、配置 Systemd 服务
cat > /etc/systemd/system/text-gen-webui.service <<EOF
[Unit]
Description=Text Generation WebUI
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/text-generation-webui
ExecStart=/opt/text-generation-webui/venv/bin/python server.py --listen --listen-port 7860 --cpu --api --api-port 5000 --gradio-auth admin:your_password
Restart=always
RestartSec=15
Environment=HOME=/root
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable text-gen-webui
systemctl start text-gen-webui
九、Nginx 反向代理
通过 Nginx 代理可以使用域名和 HTTPS 访问:
cat > /etc/nginx/sites-available/text-gen <<'EOF'
server {
listen 80;
server_name ai.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:7860;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300;
client_max_body_size 500M;
}
}
EOF
ln -s /etc/nginx/sites-available/text-gen /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
十、功能模式介绍
Text Generation WebUI 提供多种使用模式:
- Chat 模式:标准的对话聊天模式,支持多轮对话。
- Default 模式:自由文本生成,适合写作和续写。
- Notebook 模式:类似记事本的编辑模式,可以编辑和重新生成任意位置。
- Character 模式:角色扮演模式,可以加载预设角色卡。
十一、推理后端选择
Text Generation WebUI 支持多种推理后端:
- llama.cpp:CPU 推理首选,GGUF 格式,参考 Llama.cpp 教程。
- Transformers:HuggingFace 原生格式,功能最全面。
- ExLlamav2:GPU 优化推理引擎,EXL2 格式。
- AutoGPTQ:GPTQ 量化模型专用。
在搬瓦工 VPS 的 CPU 环境下,推荐使用 llama.cpp 后端配合 GGUF 格式模型。
十二、常见问题
界面无法访问
确认防火墙已开放端口,确认启动时使用了 --listen 参数:
ufw allow 7860/tcp
ss -tlnp | grep 7860
模型加载失败
确认模型格式正确,GGUF 模型需要安装 llama-cpp-python:
pip install llama-cpp-python
总结
Text Generation WebUI 提供了功能最全面的本地大模型使用界面,适合需要灵活调节参数和切换模型的用户。如果你只需要一个简洁的聊天界面,可以考虑 Open WebUI 或 ChatGPT Next Web。选购搬瓦工 VPS 请查看 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,购买链接:bwh81.net。