text-generation-webui 本地大模型部署:5 分钟启动与 3 个配置文件说明
【免费下载链接】textgenOpen-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.项目地址: https://gitcode.com/GitHub_Trending/te/textgen
text-generation-webui 是一个本地大模型部署的桌面应用。它支持纯文本对话、视觉输入、工具调用,并内置 OpenAI 兼容 API,数据完全留在本机。本文按场景讲解依赖选择、启动参数和容器方案,照做约 5 分钟能在本机看到对话界面。
快速验证:5 分钟看到对话界面
克隆仓库,运行对应系统的启动脚本即可。脚本会自动创建 Python 环境、安装依赖。安装完成、日志加载成功后,浏览器会打开 http://localhost:7860。
git clone https://gitcode.com/GitHub_Trending/te/textgen cd textgen ./start_linux.shLinux 用 start_linux.sh,Windows 用 start_windows.bat,macOS 用 start_macos.sh。安装器会根据你的硬件,自动读取 requirements/full/ 下对应的依赖文件。如果你打算手动安装环境,就需要按下一节自己选对文件。
按场景选配置
不同硬件怎么选依赖文件
依赖文件都在 requirements/full/ 目录下,按硬件类型选一个:
| 硬件 | 依赖文件 | 理由 |
|---|---|---|
| NVIDIA 显卡 | requirements/full/requirements.txt | 默认配置,带 CUDA 加速与 bitsandbytes 量化支持 |
| AMD 显卡 | requirements/full/requirements_amd.txt | 安装适配 ROCm 的 PyTorch 版本 |
| 只有 CPU | requirements/full/requirements_cpu_only.txt | 安装 CPU 版 PyTorch,不带 GPU 依赖 |
| Apple Silicon | requirements/full/requirements_apple_silicon.txt | M 系列芯片走 MPS 加速 |
如果 CPU 较老、没有 AVX2 指令集,预编译包装不上。改用 requirements/full/requirements_nowheels.txt,让 PyTorch 从源码编译。
局域网访问、API 与省显存的启动参数
参数写在命令行,也可以持久化到 user_data/CMD_FLAGS.txt。文件里每行一个参数,每次启动自动生效:
- 想让局域网访问:
--listen。服务默认只监听本机,加上它才对网卡开放。 - 想开 API:
--api。暴露 OpenAI 兼容接口,方便其他程序调用。 - 想省显存:
--load-in-4bit。量化(把模型权重压缩成更少的位数来省显存)后,显存占用明显下降。 - 想自动开浏览器:
--auto-launch。省去手动输入地址。
不想污染本机环境时改用 Docker
docker/ 目录按硬件分了四个子目录:nvidia、amd、intel、cpu。以 NVIDIA 为例:
cd textgen/docker/nvidia cp ../.env.example .env docker compose up --build.env 里可以设 TORCH_CUDA_ARCH_LIST(显卡计算能力)和端口,默认值覆盖 RTX 3090、4090。AMD、CPU 部署同理,换子目录即可。细节见 docs/09 - Docker.md。
参数怎么调:三步优先级
别一上来就调温度。按下面的顺序来,出问题也容易定位是哪一步。
第一步:先确认显存够用
truncation_length(上下文截断长度)。作用:限定输入提示词的最大长度,防止上下文超出模型上限。推荐取值:模型上下文长度减 512,给回答留出生成空间。什么时候调:长对话时报显存溢出,就调低它。
第二步:再定 max_new_tokens
max_new_tokens(单次最大生成 token 数)。作用:限制一轮回答最多生成多少 token。推荐取值:512 到 2048,按需加长。什么时候调:回答被截断就调高;生成太慢、显存吃紧就调低。设太高还会挤占提示词的可用空间,导致长提示词被截断。
第三步:最后碰 temperature 与 top_p
temperature(输出随机性系数)。作用:数值越高,采样越随机。推荐取值:0.7 到 1.2,日常聊天 0.8 左右即可。什么时候调:回答跑题、出现编造内容就调低;输出死板重复就调高。
top_p(核采样阈值)。作用:只在累计概率达到该值的候选 token 里抽取。推荐取值:0.9 到 1.0。什么时候调:一般保持默认,先定好 temperature 再微调它。两个参数同时动,很难判断是哪个起了作用。
出错时先看这里
| 现象 | 原因 | 处理动作 |
|---|---|---|
| 加载模型报 CUDA out of memory | 该模型在显存里放不下 | 降到 4 位量化,或调低 truncation_length |
| 生成速度很慢 | 模型过大或没跑在 GPU 上 | 换更小的模型,或在 Model 页确认加载器是 CUDA 版 |
| 局域网访问不了 | 服务只监听了 localhost | 在 CMD_FLAGS.txt 里加--listen |
| 依赖安装报错、版本冲突 | 预编译包与本机环境不兼容 | 换 requirements_nowheels.txt,或直接用 Docker 跑 |
下一步
到这里,本地大模型部署的三个配置文件——依赖文件、CMD_FLAGS.txt、Docker 的 .env——都已就位。接下来可以做三件事:
- 打开 user_data/presets/,用内置的 Creative、Deterministic、Top-P 预设对比生成风格。
- 读 docs/ 里的分模块说明,重点看 Chat Tab 与 Model Tab 两篇。
- 在 user_data/grammars/ 里试几个 GBNF 语法文件,让输出严格符合 JSON 或列表格式。
【免费下载链接】textgenOpen-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.项目地址: https://gitcode.com/GitHub_Trending/te/textgen
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考