本地部署 text-generation-webui

本地部署 text-generation-webui

  • [0. 背景](#0. 背景)
  • [1. text-generation-webui 介绍](#1. text-generation-webui 介绍)
  • [2. 克隆代码](#2. 克隆代码)
  • [3. 创建虚拟环境](#3. 创建虚拟环境)
  • [4. 安装 pytorch](#4. 安装 pytorch)
  • [5. 安装 CUDA 运行时库](#5. 安装 CUDA 运行时库)
  • [6. 安装依赖库](#6. 安装依赖库)
  • [7. 启动 Web UI](#7. 启动 Web UI)
  • [8. 访问 Web UI](#8. 访问 Web UI)
  • [9. OpenAI 兼容 API](#9. OpenAI 兼容 API)

0. 背景

一直喜欢用 FastChat 本地部署大语言模型,今天试一试 text-generation-webui 这个项目。

1. text-generation-webui 介绍

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集成等等。有关详细信息,请参阅 wiki扩展目录
  • 与自定义角色聊天。
  • 适用于指令跟踪模型的精确聊天模板,包括 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 服务器 - 请参阅示例

2. 克隆代码

git clone https://github.com/oobabooga/text-generation-webui.git; 
cd text-generation-webui

3. 创建虚拟环境

(Optional)安装 Conda,

curl -sL "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh" > "Miniconda3.sh"
bash Miniconda3.sh

创建虚拟环境,

conda create -n textgen python=3.11 -y
conda activate textgen

4. 安装 pytorch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

确认 pytorch 是否安装成功,

python -c "import torch;print(torch.cuda.is_available()):

--- 安装成功输出应该为 True
True

5. 安装 CUDA 运行时库

conda install -y -c "nvidia/label/cuda-12.1.1" cuda-runtime

如果您需要 nvcc 手动编译某些库,请将上面的命令替换为,

conda install -y -c "nvidia/label/cuda-12.1.1" cuda

6. 安装依赖库

pip install -r requirements.txt
pip install transformers_stream_generator
pip install tiktoken

7. 启动 Web UI

python server.py
# python server.py --trust-remote-code --listen

8. 访问 Web UI

使用浏览器打开 http://localhost:7860/?__theme=dark






9. OpenAI 兼容 API

pip install -r extensions/openai/requirements.txt

启动,

python server.py --trust-remote-code --api --api-port 8000 --listen

refer:https://github.com/oobabooga/text-generation-webui/wiki/12---OpenAI-API

完结!

相关推荐
沉下心来学鲁班8 天前
欺诈文本分类检测(十八):基于llama.cpp+CPU推理
人工智能·语言模型·分类·cpu·llama.cpp
幽影相随2 个月前
构建llama.cpp并在linux上使用gpu
llm·llama.cpp
Hoper.J2 个月前
GPTQ vs AWQ vs GGUF(GGML) 速览和 GGUF 文件命名规范
模型量化·gptq·awq·gguf·ggml
神奇的代码在哪里2 个月前
MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境
人工智能·大模型·gptq·minicpm·端侧大模型
telllong2 个月前
使用llama.cpp 在推理MiniCPM-1.2B模型
c++·llama·llama.cpp
Fulin_Gao2 个月前
【量化部署】AWQ in MLSys 2024
部署·量化·awq
shizidushu3 个月前
Docker下使用llama.cpp部署带Function calling和Json Mode功能的Mistral 7B模型
docker·语言模型·llama·llama.cpp·mistral-7b
穷人小水滴3 个月前
(章节 3.1) 本地运行 AI 有多慢 ? 大模型推理测速 (llama.cpp, Intel GPU A770)
人工智能·llama·llama.cpp·a770·vulkan·gnu/linux·sycl
穷人小水滴3 个月前
编译运行 llama.cpp (vulkan, Intel GPU SYCL)
ai·gpu·intel·llama.cpp·a770·vulkan·sycl
SpikeKing3 个月前
LLM - 使用 HuggingFace + Ollama 部署最新大模型 (GGUF 格式 与 Llama 3.1)
llama·huggingface·ollama·llama.cpp·大模型部署·gguf·instruct