【GitHub】TextGen:开源本地大模型运行平台的终极解决方案

一、项目概述

1.1 从 oobabooga 到 TextGen 的演进

TextGen (原名 text-generation-webui,GitHub 曾用名 oobabooga/text-generation-webui)是当前最受欢迎的开源本地大语言模型(LLM)运行平台之一。该项目于2026年4月正式更名为 TextGen ,GitHub 仓库地址变更为 github.com/oobabooga/textgen

项目属性 详情
项目名称 TextGen
GitHub Stars ⭐ 46,900+
GitHub Forks 🍴 6,000+
许可证 AGPL-3.0
总提交数 5,660+ 次
发布版本 111 个(最新 v4.7.3)
官方社区 Reddit: r/Oobabooga

1.2 项目起源与资金支持

TextGen 的设计灵感来源于著名的图像生成 Web UI 项目 AUTOMATIC1111/stable-diffusion-webui。2023年8月,著名风险投资机构 Andreessen Horowitz (a16z) 为该项目提供了慷慨的资金支持,进一步推动了项目的发展。此外,项目还获得了 Warp(面向多 AI 代理的编码终端)的赞助。

1.3 核心定位

TextGen 的核心定位是:为零门槛本地运行大模型提供一站式解决方案。无论是研究人员、开发者还是普通用户,都能通过 TextGen 在本地设备上便捷地运行各种开源大语言模型,无需复杂的配置过程。


二、核心功能特性

2.1 多样化的对话模式

TextGen 支持三种主要对话模式,满足不同场景需求:

对话模式 说明 典型应用
instruct 类 ChatGPT 指令模式,适合问答和任务执行 翻译、摘要、代码生成
chat-instruct 聊天+指令混合模式 对话式任务处理
chat 自定义角色对话,使用 Jinja2 模板自动格式化 角色扮演、虚拟助手

所有对话模式均支持 Jinja2 模板,可灵活自定义提示词格式。

2.2 多模态能力

视觉理解
  • 支持图片附件上传,实现视觉理解功能
  • 可对图片内容进行问答和分析
文档处理
  • 支持 TXT、PDF、DOCX 等多种文档格式上传
  • 基于文档内容进行智能问答

2.3 高级对话管理

  • 消息编辑:支持修改历史消息内容
  • 版本导航:可回溯到任意对话节点
  • 分支对话:在任意节点开启新的对话分支
  • Notebook 模式:自由形式文本生成,不受对话轮次限制

2.4 工具调用(Tool-calling)

TextGen 提供了强大的工具调用功能,每个工具以单个 .py 文件形式存在,支持:

  • Web 搜索 :使用 ddgs 库进行实时搜索
  • 页面抓取:获取网页内容
  • 数学计算:精确数学运算
  • MCP 服务器:支持 stdio 模式的 MCP (Model Context Protocol) 服务器连接

💡 最新版本 (v4.6.2+) 新增:工具调用确认功能,提供内联批准/拒绝/始终批准按钮,可在每个工具调用执行前进行确认。

2.5 API 兼容性

TextGen 完全兼容 OpenAI APIAnthropic API 格式,可以作为云端 API 的本地替代品:

API 类型 支持端点 功能
OpenAI /v1/chat/completions 聊天完成
OpenAI /v1/completions 文本补全
OpenAI /v1/messages 消息接口
Anthropic /v1/messages Anthropic 格式

通过 --api 参数启动 API 服务,可无缝对接现有应用。

2.6 LoRA 微调训练

  • 支持基于多轮对话或原始文本数据集的 LoRA 训练
  • 支持断点续训功能
  • 可针对特定领域进行模型定制

2.7 图像生成集成

集成 diffusers 模型(如 Z-Image-Turbo),支持:

  • 4-bit/8-bit 量化压缩
  • 持久化图库存储
  • 图像元数据保存

2.8 隐私保护

  • 100% 离线运行:零遥测、无外部资源请求
  • 无远程更新:无需联网验证
  • 完全私有:数据不出本地设备

三、技术架构

3.1 项目结构

复制代码
textgen/
├── .github/              # CI/CD 配置
├── css/                  # 样式文件
├── desktop/              # 桌面应用相关
├── docker/               # Docker 配置(nvidia/amd/intel/cpu)
├── docs/                 # 项目文档
├── extensions/           # 扩展插件目录
├── js/                   # JavaScript 文件
├── modules/              # 核心模块
├── requirements/          # 依赖文件(portable/full)
├── user_data/            # 用户数据(模型、配置等)
├── server.py              # 主服务入口
├── one_click.py          # 一键安装脚本
└── download-model.py     # 模型下载工具

3.2 技术栈分析

技术类别 占比 说明
Python 86.1% 核心开发语言
CSS 6.5% 界面样式
JavaScript 5.6% 前端交互
Shell 0.7% 脚本配置
其他 1.1% Batchfile、Dockerfile 等

3.3 核心技术组件

组件 技术选型 说明
前端框架 Gradio 交互式 Web UI
推理后端 llama.cpp / ExLlamaV3 / Transformers / TensorRT-LLM 多引擎支持
量化方案 bitsandbytes、GGUF 4-bit/8-bit 量化
API 兼容 OpenAI API / Anthropic API 无缝对接现有应用
模型格式 GGUF、Safetensors、EXL3 主流格式全覆盖

3.4 多后端支持

TextGen 支持多种推理引擎,可根据硬件条件自由选择:

推理后端 特点 适用场景
llama.cpp 高效、跨平台、支持 GGUF 通用推荐
ik_llama.cpp llama.cpp 分支,支持新量化类型 高级量化需求
Transformers 官方 Hugging Face 实现 研究实验
ExLlamaV3 高性能推理 大模型场景
TensorRT-LLM NVIDIA 官方优化 专业部署

⚠️ 重要提示:无需重启即可切换后端和模型,极大提升了开发效率。


四、安装与部署

4.1 安装方式对比

安装方式 难度 速度 功能完整性 适用用户
便携版 🚀 1分钟 ⭐⭐⭐⭐ 普通用户
venv 安装 ⭐⭐ 🚀 5分钟 ⭐⭐⭐⭐⭐ 开发者
一键安装器 ⭐⭐ 🐢 10-30分钟 ⭐⭐⭐⭐⭐ 全功能需求
Conda ⭐⭐⭐ 🐢 15分钟 ⭐⭐⭐⭐⭐ 高级用户
Docker ⭐⭐ 🚀 快速 ⭐⭐⭐⭐ 容器化部署

4.2 便携版(推荐新手)

最快上手方式,零配置

bash 复制代码
# 1. 下载对应版本
# 地址:https://github.com/oobabooga/textgen/releases

# 2. 解压后双击 textgen 即可运行

支持平台:Linux、Windows、macOS

支持加速:CUDA、Vulkan、ROCm、纯 CPU

4.3 venv 手动安装

bash 复制代码
# 克隆仓库
git clone https://github.com/oobabooga/textgen
cd textgen

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # macOS/Linux
# venv\Scripts\activate   # Windows

# 安装依赖
pip install -r requirements/portable/requirements.txt --upgrade

# 启动服务
python server.py --portable --api --auto-launch

4.4 一键安装器(推荐)

bash 复制代码
# 克隆仓库
git clone https://github.com/oobabooga/textgen

# 运行对应系统脚本
# Windows
start_windows.bat

# Linux
./start_linux.sh

# macOS
./start_macos.sh

安装完成后访问:http://127.0.0.1:7860

4.5 Conda 完整安装

bash 复制代码
# 安装 Miniforge
curl -sL "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh" > "Miniforge3.sh"
bash Miniforge3.sh

# 创建环境
conda create -n textgen python=3.13
conda activate textgen

# 安装 PyTorch(按硬件选择)
pip3 install torch==2.9.1 --index-url https://download.pytorch.org/whl/cu128

# 安装项目
git clone https://github.com/oobabooga/textgen
cd textgen
pip install -r requirements/full/<对应requirements文件>

4.6 Docker 部署

bash 复制代码
# NVIDIA GPU 示例
ln -s docker/{nvidia/Dockerfile,nvidia/docker-compose.yml,.dockerignore} .
cp docker/.env.example .env
mkdir -p user_data/logs user_data/cache
docker compose up --build

五、模型管理

5.1 支持的模型格式

格式 说明 推荐后端
GGUF llama.cpp 专用格式,高压缩比 llama.cpp
Safetensors 安全高效的 PyTorch 格式 Transformers
EXL3 ExLlamaV3 专用格式 ExLlamaV3

5.2 模型下载与放置

GGUF 模型(便携版)
复制代码
1. 从 Hugging Face 下载 GGUF 文件
   https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads&search=gguf

2. 将文件放入 user_data/models/ 文件夹

3. UI 自动检测并加载
多文件模型(Transformers/EXL3)
复制代码
textgen/
└── user_data/
    └── models/
        └── Qwen_Qwen3-8B/
            ├── config.json
            ├── model-00001-of-00004.safetensors
            ├── tokenizer.json
            └── ...

5.3 VRAM 估算工具

使用 GGUF Memory Calculator 估算所需显存。

推荐参考:LocalBench 获取各量化版本性能对比。


六、命令行参数详解

6.1 基础设置

参数 说明 示例
--model 指定模型路径 --model user_data/models/Qwen3-8B
--multi-user 多用户模式
--extensions 启用的扩展 --extensions sd_api_pictures
--verbose 详细输出
--idle-timeout 空闲超时(秒) --idle-timeout 600

6.2 API 配置

参数 说明 示例
--api 启用 API
--api-port API 端口 --api-port 5000
--api-key API 密钥 --api-key your_key
--nowebui 仅 API 模式(无界面)
--public-api 公共 API

6.3 llama.cpp 参数

参数 说明 示例
--gpu-layers GPU 层数 --gpu-layers 99
--ctx-size 上下文大小 --ctx-size 4096
--tensor-split 张量分割策略 --tensor-split 0.6,0.4
--parallel 并行数 --parallel 4
--cache-type 缓存类型 --cache-type q8_0

6.4 Transformers 参数

参数 说明
--load-in-8bit 8-bit 量化加载
--load-in-4bit 4-bit 量化加载
--bf16 使用 BF16 精度
--trust-remote-code 信任远程代码

6.5 推理优化参数

参数 说明 说明
--model-draft 推测解码草案模型 加速生成
--spec-type 推测解码类型 greedy/sampling
--draft-max 最大推测长度
--split-mode tensor 张量并行模式 多 GPU 加速 60%+

七、扩展生态

7.1 内置扩展

扩展名称 功能描述
character_bias 角色偏差调整
coqui_tts Coqui 文本转语音
gallery 图片图库管理
google_translate Google 翻译集成
long_replies 长回复处理
ngrok 内网穿透支持
perplexity_colors Perplexity 配色方案
sd_api_pictures Stable Diffusion 图片生成
send_pictures 图片发送功能
silero_tts Silero 文本转语音
superbooga 知识增强扩展
superboogav2 知识增强扩展 v2
whisper_stt Whisper 语音转文字

7.2 社区扩展

TextGen 拥有活跃的社区生态,社区成员贡献了大量扩展插件,涵盖:

  • TTS(语音合成)
  • 语音输入
  • 翻译功能
  • 更多图像生成能力

7.3 MCP 服务器集成

v4.6.2+ 版本支持 MCP (Model Context Protocol) 服务器,可通过 user_data/mcp.json 配置文件连接 stdio 模式的 MCP 服务器。


八、最新版本更新(2026年)

8.1 v4.7.3(2026年5月3日)⭐ 最新版本

重大更新
功能 说明
桌面应用 便携版捆绑 Electron,原生窗口运行
UI 大改版 默认字体改为 Inter,Lucide SVG 图标,全新聊天输入框
张量并行 新增 --split-mode tensor 标志,多 GPU 加速 60%+
搜索工具 使用 ddgs 库替代 DuckDuckGo HTML,更抗反爬
模板支持 支持独立 .jinja/.jinja2 指令模板文件
Bug 修复
  • 修复工具调用批准期间停止按钮被忽略的问题
  • 修复 ExLlamaV3 后端并发 API 请求竞态条件
  • 修复扩展设置无法保存的问题(#7525)
依赖更新
  • llama.cpp 更新至最新版本
  • ik_llama.cpp 更新至最新版本
  • transformers 更新至 5.6

8.2 v4.6.2(2026年4月23日)

重大更新
功能 说明
工具调用确认 内联批准/拒绝/始终批准按钮
MCP 服务器 支持 stdio 模式 MCP 服务器
Thinking 参数 新增 --preserve-thinking 参数
侧边栏改进 独立切换并保持状态
安全修复
  • 修复 URL 获取中的 SSRF 漏洞

8.3 v4.5.2(2026年4月15日)

重大更新
功能 说明
项目更名 从 text-generation-webui 正式更名为 TextGen
对数概率显示 改进 logits 显示
UI 改进 浅色模式引用文本使用天蓝色

九、使用场景

9.1 典型应用场景

场景 说明 推荐配置
本地开发调试 无需调用云端 API,本地调试 LLM 应用 便携版 + llama.cpp
隐私敏感场景 医疗、法律、金融等敏感数据处理 完全离线,无遥测
模型研究实验 测试不同模型、后端、量化方案 Transformers / ExLlamaV3
API 服务部署 自建 OpenAI 兼容 API --api + --nowebui
LoRA 训练 定制化模型微调 一键安装器完整版
多模态应用 视觉理解 + 图像生成 集成 SD + 多模态模型

9.2 推荐硬件配置

模型规模 量化 最低显存 推荐显存
7B Q4_K_M 6GB 8GB
13B Q4_K_M 10GB 16GB
33B Q4_K_M 24GB 32GB
70B Q4_K_M 48GB 80GB

十、项目优势总结

10.1 核心优势

优势 说明
零门槛 便携版一键启动,无需配置环境
多后端 支持 llama.cpp/ExLlamaV3/Transformers/TensorRT-LLM
API 兼容 完全兼容 OpenAI/Anthropic API,即插即用
完全私有 100% 本地运行,零遥测,保护隐私
功能完整 聊天、视觉、训练、图像生成一体化
活跃社区 46.9k Stars,6k Forks,持续迭代

10.2 竞品对比

特性 TextGen Ollama LM Studio
Star 数量 46.9k 30k+ 10k+
扩展生态 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐
API 兼容性 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
LoRA 训练
图像生成
桌面应用

结语

TextGen 作为开源本地大模型运行平台的标杆项目,凭借其零门槛的便携部署多后端灵活切换完整的 API 兼容性 以及丰富的扩展生态,已经成为 AI 研究者和开发者不可或缺的工具。

随着 v4.7.3 版本的发布,特别是桌面应用集成张量并行优化的加入,TextGen 在易用性和性能方面又迈上了新的台阶。无论是想要在本地体验大模型能力的普通用户,还是需要构建私有化 AI 应用的开发者,TextGen 都是值得首选的解决方案。

立即体验 :访问 github.com/oobabooga/textgen 下载最新版本,开始你的本地大模型之旅!


本文首发于 CSDN,转载需注明出处。

相关推荐
Rocktech_ruixun15 分钟前
机器人本地跑LLM大模型对主板硬件有什么要求?瑞迅科技RK3588/3568方案选型解析
人工智能·科技·嵌入式硬件·机器人·边缘计算
yxlalm20 分钟前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
tedcloud12321 分钟前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
科技苑34 分钟前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
迅利科技1 小时前
新能源汽车零部件研发,SIMULIA一站式仿真解决方案如何缩短研发周期
人工智能·汽车
嘉琪coder1 小时前
我做了一个 Chrome 扩展,把 YouTube 播放列表批量变成 AI 可读的本地 Markdown
chrome·开源·浏览器
Databuff1 小时前
AI SSH工具,集齐SSH、SFTP、知识库RAG、AI助手
网络·人工智能·ssh
Blockchina2 小时前
从一篇文章到一条完整视频:用 Codex 搭建可复用的 AI 视频生产线
人工智能
峰向AI2 小时前
还在手动配 SSL 证书?这个 75K Star 的 Web 服务器让 HTTPS 自动到起飞
github
Proaiapi2 小时前
一张图介绍gpt-image-2.5
人工智能·gpt