十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

一次配好不折腾:text-generation-webui 本地部署大模型实践

一次配好不折腾:text-generation-webui 本地部署大模型实践 一次配好不折腾text-generation-webui 本地部署大模型实践【免费下载链接】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 全在本地完成。这篇文章走一遍环境配置与参数调优的完整路线从选依赖到报错自救跟着做完就能出界面。起步先选路按硬件选依赖文件第一次启动前先花十秒确认你的硬件类型再去 requirements/full/ 目录下对号入座。选错文件后面装依赖和跑模型都会不顺NVIDIA 独显RTX 20/30/40 系等用 requirements/full/requirements.txt。带 CUDA 加速的完整依赖绝大多数人的默认选择。AMD 独显RX 6000/7000 系等用 requirements/full/requirements_amd.txt。Rocm 后端已按 AMD 图形栈配好装完即可跑。没有独显、纯 CPU 机器用 requirements/full/requirements_cpu_only.txt。小参数模型7B 量化版以下跑得动速度要有心理预期。MacBook / iMacApple Silicon 芯片选 requirements/full/requirements_apple_silicon.txtIntel 芯的 Mac 则用同目录的 requirements/full/requirements_apple_intel.txt。很老的 x86 CPU不支持 AVX2 指令集换用 requirements/full/requirements_nowheels.txt走源码编译而非预编译 wheel编译慢一些但能装上。从克隆到出界面三步启动 Web UI把代码拿下来git clone https://gitcode.com/GitHub_Trending/te/textgen cd textgen一条 clone 命令拿到全部源码和脚本。按系统选启动入口跑起来./start_linux.sh # Linuxstart_windows.bat :: Windows 直接双击也行./start_macos.sh # macOS三份脚本逻辑一致命令块里只列了入口Windows 用户双击 .bat 即可。等浏览器自己弹出来脚本会自动装好 Miniforge 和 conda 环境、隔离系统 Python、装齐依赖最后拉起 Web UI。首访地址固定是http://localhost:7860看到界面就说明链路通了。生成参数的两种持久化调优入口入口一CMD_FLAGS.txt。打开 user_data/CMD_FLAGS.txt在文件里每行写一个你希望每次都生效的参数--listen --api --auto-launch下次启动脚本会把它当成命令行参数自动带上不用每次敲也不用记。适合放--listen开放局域网、--model 模型名开机直接载入指定模型这类一次写定的选项。入口二UI 的 Parameters 标签页。参数想边聊边调、或者要按任务换一套组合直接进界面上的 Parameters 面板改还能存成预设反复用。下面三个场景是最常见的三种配方。场景一显存不大想塞进更大的模型把加载方式降位宽写进 CMD_FLAGS.txt 即可--load-in-8bit半精度减半为 8 位多数 7B~13B 模型这样就能进 8G 显存。--load-in-4bit --wbits 4 --groupsize 128再压到 4 位24B 级别也有得跑代价是略有精度损失。场景二嫌回答太干想要多样性在 Parameters 面板里把随机性拧大temperature提到 0.9~1.2温度越高措辞越跳脱top_p放到 0.95 左右候选 token 池更宽句式不那么套路想彻底换个思路直接点面板里的随机预设按钮抽一套再微调。场景三要稳定准确做工具调用或代码把随机性压下去temperature收到 0.1~0.4输出可复现、不跑题top_k取 40 左右的小值只从头部候选里选对结构化输出JSON、函数调用还可在 Model 标签页挂 user_data/grammars/ 里的 GBNF 语法约束。常用参数的起点速查列名和取值都按先跑通再微调的思路给参数它管什么从哪下手max_new_tokens单次回答最长写多长先给 500回答被截断了再往上加temperature措辞的随机程度聊天 0.8 起步求稳往下降求活往上升top_p每个 token 的候选池大小0.95 能覆盖绝大多数场景repetition_penalty对重复句式的惩罚力度出现车轱辘话时小幅抬到 1.1 左右截断长度上下文窗口载入模型后 UI 自动填好除非你改 loader 否则不用动多环境共存Docker 隔离方案什么时候值得上容器本机环境不想被污染、同一台服务器要并存多个项目、或者要往远程机器上做无人值守部署。仓库在 docker/ 下给好了各硬件的现成配置以 NVIDIA 为例cd textgen ln -s docker/nvidia/Dockerfile . ln -s docker/nvidia/docker-compose.yml . docker compose up --build首次构建会比较久要按 GPU 架构编译 CUDA 算子。compose 里默认取TORCH_CUDA_ARCH_LIST8.6;8.9PTX如果你的卡更老或更新可在旁边建一个.env文件覆写该变量user_data目录会被挂载进容器模型和预设都留在宿主机容器删了也不丢数据。AMD 和纯 CPU 的变体在 docker/amd/ 与 docker/cpu/把软链指过去即可命令完全一样。更多细节看 docs/09 - Docker.md。报错对号入座五个高频问题自检现象加载或生成时抛 CUDA out of memory。→ 原因模型加上下文超出显存。→ 解法换--load-in-8bit/--load-in-4bit或调小截断长度改动写进 user_data/CMD_FLAGS.txt。现象出字明显慢、卡得难受。→ 原因模型过大或 loader 没吃满硬件。→ 解法先确认依赖文件没选错回第一章再在 Parameters 里核对max_new_tokens是否虚高详见 docs/03 - Parameters Tab.md。现象局域网另一台机器打不开界面。→ 原因只监听了本机回环。→ 解法CMD_FLAGS.txt 里补上--listen同时放行 7860 端口。现象依赖装不上、torch 版本互相打架。→ 原因宿主机环境被别的框架污染。→ 解法别跟系统 Python 较劲直接走 Docker见上一章 docker/。现象启动时报指令集/算子相关错误。→ 原因CPU 太老却装了新 wheel。→ 解法换 requirements/full/requirements_nowheels.txt 重装。跑通之后不妨做三件事同一模型分别用 4bit 和 8bit 跑一段对比看精度损失你是否能接受用 user_data/presets/ 里的现成预设切换几种生成风格找到最顺手的那套再微调剩下的模块训练、扩展、多模态直接翻 docs/ 逐篇拆。如果碰到上面没列到的报错把终端最后几行丢到评论区我们一起看。下一篇聊聊扩展开发——怎么给自己的 Web UI 装上自定义工具见分晓。【免费下载链接】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),仅供参考
返回列表