TextGen 推理教程
TextGen(原 Text Generation WebUI)是一个本地大语言模型桌面程序与 Web 界面,可以使用 llama.cpp 后端运行 RWKV GGUF 模型。
本文介绍使用便携版运行 RWKV GGUF 的流程。需要训练、Transformers 或其他扩展时,再使用上游提供的完整安装方式。
下载并启动 TextGen
从 TextGen Releases 下载适合当前系统和硬件的便携包。便携包已经包含 llama.cpp 和所需依赖。
| 设备 | 便携包选择 |
|---|---|
| NVIDIA GPU | nvidia-smi 显示 CUDA 13.1 或更高版本时选择 CUDA 13.1,否则选择 CUDA 12.4 |
| AMD / Intel GPU | 优先选择 Vulkan |
| 支持 ROCm 7.2 的 AMD GPU | 也可以选择 ROCm |
| Apple Silicon | macOS arm64 |
| Intel Mac | macOS x86_64 |
| 仅使用 CPU | CPU-only |
下载完成后,将便携包解压到一个独立文件夹。
**macOS 用户还需要完成以下操作:**首次启动前,在终端运行下面的命令,移除解压文件的隔离属性。请将路径替换成实际的 TextGen 文件夹:
xattr -cr /path/to/textgen-folder完成上述准备后,根据系统启动 TextGen:
- **Windows:**双击
textgen.bat - **Linux 和 macOS:**在解压目录中运行
./textgen
启动成功后,TextGen 会打开桌面界面。
如果希望改用浏览器界面,请从终端启动并添加 --no-electron:
- Windows PowerShell:
.\textgen.bat --no-electron - Linux 和 macOS:
./textgen --no-electron
随后访问 http://127.0.0.1:7860。
如果需要训练、Transformers、ExLlamaV3 或其他扩展,请改用 TextGen 完整安装说明。
下载 RWKV 模型
TextGen 支持多种模型加载器,其中 llama.cpp 模型加载器支持 RWKV 模型。
llama.cpp 使用 gguf 格式的 RWKV 模型。可以从 RWKV7-Gxx-GGUF 合集 下载 RWKV-7 G 系列模型。
自己微调了一个 RWKV-7 模型,想从 pth 转 gguf 格式?查看 llama.cpp 文档 - 从 pth 模型转换为 gguf。
同一个 RWKV 模型通常提供多种量化文件。第一次运行 G1i 1.5B 时,可以先选择 Q5_K_M。
- 内存或显存不足时,可以改用
Q4_K_M - 内存或显存充足时,可以选择
Q6_K、Q8_0或 FP16 - 0.1B 和 0.4B 模型优先选择
Q8_0或 FP16
等待模型下载完毕,将模型文件放到 TextGen 的 user_data/models 文件夹中:
textgen
└── user_data
└── models
└── rwkv7-g1i-1.5b-Q5_K_M.gguf加载 RWKV 模型
回到 TextGen 界面,配置并加载 RWKV 模型:
- 点击
Model标签,切换到模型选择和配置页面 - 点击
Model下拉菜单,选择一个 RWKV 模型 - 点击
Model loader下拉菜单,选择llama.cpp作为模型加载器 - 保持 GGUF 内置的聊天模板。只有自制 GGUF 缺少模板时,才需要手动配置指令模板
- 点击
Load按钮加载 RWKV 模型
如果 Model 下拉菜单未显示模型文件,可能是界面尚未同步 user_data/models 文件夹中的模型列表。
请点击右侧的 🔄 刷新按钮,更新模型列表。
成功加载后,状态区域会显示 Successfully loaded 和当前模型名称。
开始聊天
模型加载完毕后,按照以下顺序开始对话:
- 回到
Chat页面 - 选择
instruct模式 - 输入消息并点击
Send
界面中出现模型回复,即表示模型、加载器和聊天模板均可正常使用。
其他参数说明
除了模型文件、llama.cpp 模型加载器和 GGUF 内置的聊天模板以外,TextGen 还提供一系列可调整的参数。这些参数会影响设备分配、上下文长度和生成速度。
通常可以保持默认参数运行模型。如需修改,请参考以下参数说明:
| 参数 | 什么时候调整 |
|---|---|
gpu-layers | 分配到 GPU 的层数。-1 表示自动选择,0 表示只使用 CPU。通常保持 -1。 |
ctx-size | 上下文长度。gpu-layers 为 -1 时可将其设为 0,让程序自动选择。 |
tensor_split | 多 GPU 的显存分配比例,例如 30,70。单 GPU 不需要设置。 |
batch_size / ubatch_size | 控制提示词处理批量。通常保持默认,只有在调优速度或解决显存不足时再修改。 |
threads / threads_batch | CPU 线程数。通常分别使用物理核心数、逻辑核心数。 |
split-mode | 多 GPU 切分方式。tensor 模式可能提高多卡速度。 |
no-mmap / mlock / numa | 内存映射、锁页和多路 CPU 调优选项。没有明确问题时保持默认。 |