textgen 本地大模型部署实操:按硬件选路线,参数组合一次到位
【免费下载链接】textgenOpen-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.项目地址: https://gitcode.com/GitHub_Trending/te/textgen
这篇文章写给第一次部署 textgen 的人。textgen 是一个开源的本地大模型桌面应用,支持纯文本对话、视觉输入、工具调用,并提供 OpenAI/Anthropic 兼容的 API,全程数据不出本机。读完你能完成三件事:装上、跑起来、调好参数,全程大约 15 分钟。先对照下表确定你的路线:
| 场景 | 推荐方案 | 一句话理由 |
|---|---|---|
| NVIDIA 显卡(主流) | start_linux.sh + requirements/full/requirements.txt | CUDA 加速,生成速度最快 |
| AMD 显卡 | start_linux.sh + requirements/full/requirements_amd.txt | ROCm 优化依赖,免手动配环境 |
| Apple M 系列芯片 | start_macos.sh + requirements/full/requirements_apple_silicon.txt | Metal 统一内存,依赖已适配 |
| 无独显 / 云 CPU | requirements/full/requirements_cpu_only.txt + CPU 参数组 | 不占显存,稳定性优先 |
按路线起步
判断路线只看两点:先跑nvidia-smi,能识别出显卡就走 NVIDIA 路线;没有独显就看 CPU 品牌,Intel/AMD 走 CPU 路线,Apple 芯片走 macOS 脚本。拿不准时选 CPU 路线也能跑通,只是速度慢。
拿到代码后,Linux 下执行:
git clone https://gitcode.com/GitHub_Trending/te/textgen ./start_linux.sh --auto-launch脚本会自动建一个隔离的 conda 环境并安装依赖,首次运行耗时较长属正常现象。Windows 直接双击 start_windows.bat,macOS 执行 start_macos.sh。启动成功的标志只有一个:浏览器自动打开 http://localhost:7860,左侧出现 Chat 标签页。🚩
参数配方
参数不用逐个理解,按场景整组抄。UI 里 "Parameters" 标签页能改的,和命令行参数一一对应,细节见 docs/03 - Parameters Tab.md。
| 场景 | 参数 | 作用与取值 |
|---|---|---|
| 日常对话 | max_new_tokens | 单次生成上限,建议 512–2048 |
| 日常对话 | temperature | 随机性,0.7–1.2 之间手感最稳 |
| 日常对话 | top_p | 核采样阈值,0.9–1.0 |
| 日常对话 | repetition_penalty | 重复惩罚,1.0–1.2 |
| 低显存 | --load-in-8bit --auto-devices | 8 位量化省显存,模型自动分到 GPU/CPU |
| 仅 CPU | --cpu --threads 8 | 强制 CPU 推理,线程数按核心数定 |
| 局域网共享 | --listen --api | 放开局域网访问,并开启兼容 API |
不想每次手敲参数,把常开的几个写进 user_data/CMD_FLAGS.txt,每次启动自动生效:
# 写入 user_data/CMD_FLAGS.txt,每次启动自动带上 --listen --auto-launch参数想直接换风格,可以去 user_data/presets/ 挑现成的:Creative.yaml偏发散,Deterministic.yaml偏稳定输出。
进阶场景
Docker 容器化
适用人群:机器上已有别的 Python 环境,或多台服务器统一部署,想和宿主机彻底隔离。最短步骤:
docker compose -f docker/nvidia/docker-compose.yml up --buildAMD、Intel、CPU 各有对应目录,进 docker/ 里选。配置细节看 docs/09 - Docker.md。
4 位量化加载
适用人群:8 位量化仍装不下模型,或想塞进更大参数量的模型。最短步骤(在启动命令后追加):
python server.py --load-in-4bit --wbits 4 --groupsize 128性能换显存的取舍见 docs/03 - Parameters Tab.md。另外,Ampere 及以上的 NVIDIA 卡可以加--bf16走 bfloat16 精度,推理更快且不掉精度。⚠️ 量化位数越低,输出质量波动越大,能 8 位装下就别上 4 位。
出问题先自查
| 现象 | 先查什么 | 对应配置 |
|---|---|---|
| 启动报 CUDA out of memory | 模型是否量化加载 | 加--load-in-8bit,再不行换 4 位组合 |
| 浏览器打不开 7860 端口 | 是否被占用、防火墙是否拦截 | 换端口或检查防火墙 |
| 局域网设备访问不到 | 是否加了--listen | user_data/CMD_FLAGS.txt 写入--listen |
| 依赖冲突、import 报错 | 是否混用了系统 Python | 走 start_linux.sh 的隔离环境或 docker/ |
| 生成明显变慢 | 量化位数和线程数 | 4 位模型天然更慢,CPU 场景调--threads |
部署跑通只是开始,下一步建议:
- 在 UI 里各换一次
Creative和Deterministic预设,对比输出差异 - 给 user_data/CMD_FLAGS.txt 固化你常用的两三个启动参数
- 翻一翻 docs/ 里关于 Session 和 Extensions 的章节,解锁持久化会话和扩展
跑通之后,欢迎把你的硬件组合和显存占用贴出来交流,帮后来的人少踩坑。
【免费下载链接】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),仅供参考