一、 介绍
Text-generation-webui 是适用于大型语言模型的 Gradio Web UI。支持 transformers、GPTQ、AWQ、EXL2、llama.cpp (GGUF)、Llama 模型。
它的特点如下,
- 3 种界面模式:default (two columns), notebook, chat
- 支持多个模型后端:Transformers、llama.cpp(通过 llama-cpp-python)、ExLlama、ExLlamaV2、AutoGPTQ、AutoAWQ、GPTQ-for-LLaMa、CTransformers、QuIP。
- 通过下拉菜单可在多个不同模型之间快速切换。
- 大量扩展(内置和用户贡献),包括用于真实语音输出的 Coqui TTS、用于语音输入的 Whisper STT、翻译、多模式管道、向量数据库、Stable Diffusion 集成等等。
- 与自定义角色聊天。
- 适用于指令跟踪模型的精确聊天模板,包括 Llama-2-chat、Alpaca、Vicuna、Mistral。
- LoRA:使用您自己的数据训练新的 LoRA,动态加载/卸载 LoRA 以进行生成。
- Transformers 库集成:通过 bitsandbytes 以 4 位或 8 位精度加载模型,将 llama.cpp 与 Transformers 采样器( llamacpp_HF 加载器)结合使用,使用 PyTorch 以 32 位精度进行 CPU 推理。
- 具有 OpenAI 兼容的 Chat 和 Completions API 服务器 。
二、构建流程
1. 克隆代码
git clone https://github.com/oobabooga/text-generation-webui.git;
cd text-generation-webui
2. 创建虚拟环境
安装conda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3.sh
创建虚拟环境
conda create -n text-generation-webui python=3.11
conda activate text-generation-webui
pip install -r requirements.txt
3. 下载vicuna-7b-v1.3语言模型
cd /text-generation-webui/models
git lfs install
git clone https://www.modelscope.cn/Xorbits/vicuna-7b-v1.3.git
4. 启动Web UI
模型参数文件准备完成后,即可启动项目。启动时,可以通过 --model
参数执行默认模型,--listen
参数可以将启动的地址设置为 0.0.0.0
,--listen-port
可以指定项目启动的端口
# 进入项目根目录
cd /text-generation-webui
# 启动项目
python server.py --model vicuna-7b-v1.3 --listen --listen-port 8080
三、网页演示
模型运行成功运行结果如下: