news 2026/9/1 10:49:50

Text Generation Web UI 本地部署与推理后端选型实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Text Generation Web UI 本地部署与推理后端选型实战

Text Generation 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

Text Generation Web UI 本地部署解决的是一个很具体的问题:把本地大模型变成浏览器里能聊天的界面,再变成内部工具能直接调的 OpenAI 兼容 API。读完全文你能独立跑通对话界面、按显存选定推理后端、把模型塞进 user_data/models/ 调好参数,并用一条 curl 把生成结果接进现有脚本。

5 条命令跑通本地 LLM 对话界面

拿到仓库后,最省事的路径是便携版:

git clone https://gitcode.com/GitHub_Trending/te/text-generation-webui cd text-generation-webui ./start_linux.sh

Windows 双击start_windows.bat,macOS 执行./start_macos.sh。脚本会用 Miniforge 在installer_files/里建好环境并装依赖,装完打开http://127.0.0.1:7860就是主界面。日常启动参数写在user_data/CMD_FLAGS.txt,每行一个,重启直接复用。

手动装 venv 的路径

便携版不适合的场景(已有自己的 Python 环境、服务器部署)可以手动装:

python -m venv venv && source venv/bin/activate pip install -r requirements/portable/requirements.txt python server.py --portable --api --auto-launch

按硬件挑 requirements/portable/ 里对应的requirements_*.txt。全量安装(ExLlamaV3、训练、图像生成)约 10GB 磁盘,另需单独装 PyTorch。

按显存选推理后端

项目内置 5 个后端,在 modules/loaders.py 里注册,启动参数--loader可以强制指定,不传就自动检测:

  • llama.cpp:便携版默认,吃 GGUF 单文件,--gpu-layers -1自动把层全塞进显存,塞不下再手动降层数。
  • Transformers:兼容 HF 多文件模型,显存不够可以--cpu--load-in-8bit
  • ExLlamaV3 / TensorRT-LLM / ik_llama.cpp:显存充裕时的长文本和高吞吐路线,需要全量安装。

多卡机器在 llama.cpp 下用--tensor-split 60,40把模型切到两张卡;--parallel N开 N 个并发请求槽位,上下文按槽位均分,例如 4 个 8192 上下文的并发就把--ctx-size设 32768。

把自己的模型和角色塞进来

GGUF 单文件直接丢进user_data/models/,界面自动识别,不用改任何配置。HF 多文件模型(safetensors 那套)放进user_data/models/下的子文件夹,每个模型一个文件夹。

想让某模型开机就加载、上下文固定 8192,往user_data/CMD_FLAGS.txt写两行:--model 你的模型.gguf--ctx-size 8192。角色人设是user_data/characters/下的 YAML 文件,内置AssistantExample两个,加新文件就是新角色,对话模板的 Jinja2 变量会自动套用。

三个采样参数管住生成质量

生成质量的旋钮很多,先用这三个就够:

  • temperature:随机性主开关,0 为纯贪心,越高越发散。
  • top_p:候选 token 累计概率上限,0.95 是常见起点。
  • min_p:相对最可能 token 的阈值过滤,0.02 起步。

复读严重时再加 repetition 类惩罚,但一次只动一个参数,看效果再动下一个。参数组合存成 YAML 放进user_data/presets/,内置几个预设都是社区盲测投票选出来的;界面预设菜单里的 🎲 按钮会随机拼一个可解读组合,生成质量卡死时点它救场。

把 OpenAI 兼容 API 暴露给内部工具

启动参数加--api,5000 端口就多出 OpenAI 兼容端点,/v1/chat/completions支持流式和 tool calls:

curl http://127.0.0.1:5000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"messages":[{"role":"user","content":"你好"}],"top_p":0.95,"top_k":20}'

第三方应用把OPENAI_API_BASE指向http://127.0.0.1:5000/v1加一个OPENAI_API_KEY就能直接切过来,官方 Python/Node 客户端也适用。完整接口列表见http://127.0.0.1:5000/docs。加--api-key做鉴权,加--listen暴露到局域网,--nowebui让服务只跑 API 不启界面。

工具调用与批量任务

Qwen、Mistral、GPT-OSS 这类模型走/v1/chat/completionstools参数即可做函数调用,返回finish_reason: "tool_calls"后执行工具、把结果作为role: "tool"消息回传,直到stop。每个工具就是一个.py文件,默认工具集(网页搜索、取时间、骰子)在 user_data/tools/,照着写新工具即可。

批量跑文案就用 Python 客户端并发调 API,llama.cpp 配--parallel开槽位。需要模型贴合业务语料时,Training 页可以做 LoRA 微调,数据集样例在user_data/training/datasets/

先跑一遍上面的最小对话链路确认环境没问题,再决定上哪个后端、把常用参数组合存成预设。最后把--api --listen加进CMD_FLAGS.txt,把http://你的内网IP:5000/v1发给同事试一条真实请求。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 10:49:13

个人新闻收集站搭建指南:基于Python与RSS的轻量资讯聚合模板

简介:这是一款面向个人用户、博客作者及资讯聚合站点搭建者的网页模板资源,适合快速创建个人新闻收集类网站。模板采用响应式布局,支持自定义配色、栏目版块与内容发布流程,兼顾内容管理与SEO基础优化,无需深厚编程基础…

作者头像 李华
网站建设 2026/9/1 10:49:10

2010年乡镇界线SHP数据处理:解压、转换与批量操作指南

简介:2010年全国乡镇界线shp矢量数据集,面向GIS从业者、城乡规划人员及科研用户,提供全国乡镇级行政边界的标准Shapefile文件,可直接用于空间制图、地理查询与区域分析。压缩包共包含7个文件,涵盖.shp几何、.dbf属性、…

作者头像 李华
网站建设 2026/9/1 10:48:42

5.9 C++实战100例——deque 随机访问性能低于 vector

5.9 C++实战100例——deque 随机访问性能低于 vector 用 perf 统计 cache miss、nm -C 校验 operator[] 调用链,定位双端队列的间接寻址开销 一:总纲和5篇免费文章分流 C++ 踩坑排雷手册 总纲目录与逻辑索引 1.1 构造完成前对象不存在:构造函数体内调用虚函数不会按派生…

作者头像 李华