搬瓦工 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 WebUIChatGPT Next Web。选购搬瓦工 VPS 请查看 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,购买链接:bwh81.net

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。