闻达语言模型调用平台部署文档

1. 闻达语言模型平台介绍

闻达模型具体介绍参阅官方github地址:

闻达github地址:https://github.com/wenda-LLM/wenda

2. 环境准备

基于chatGLM-6B、text2vec-large-chinese两种模型部署闻达平台,并实现本地知识库搭建。

2.1. 依赖环境准备

硬件:显存大于6g以上的显卡,chatGLM-6B在量化等级为INT4,最小可以在6g显存上运行

软件:

  • 操作系统centos7.9
  • python 3.9.16版本(安装文档,运维提供)
  • pip包管理工具(安装文档,运维提供)
  • git(安装文档,运维提供)
  • 显卡驱动,cuda安装包会包含显卡驱动,也可以手动安装,版本需要到官网上查(下载 NVIDIA 官方驱动 | NVIDIA
  • cuda,11.8版本(CUDA Toolkit Archive | NVIDIA Developer)(安装文档,运维提供)
  • 需要安装anaconda3

http://www.taodudu.cc/news/show-3892930.html?action=onClick

  • pytorch,版本需要cuda配套(Previous PyTorch Versions,该页面是官方pythorch和cuda版本对应的下载地址,根据该页面安装)(安装文档,运维提供)
  • 一定要下载这个版本不然不能用CUDA进行加速计算 (深坑)
pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118


 

2.2. 环境验证

以上环境安装好之后,需要检查显卡驱动是否正常以及cuda版本pytorch版本是否适配

  • 输入以下命令,验证显卡驱动:
nvidia-smi

显示如下结果,显示CUDA版本为11.8,显卡驱动版本520.61.05

  • 执行以下命令,查看Pytorch和cuda版本是否对应
python
import torch
print(torch.__version__)

显示如下结果,显示torch版本为2.0.0,适配的cuda版本为11.8

3. chatGLM-6模型安装

闻达github上提供chatGLM-6模型的懒人包,经过验证未能成功运行,这边采用源码部署运行。

3.1. 源码下载

进入指定要安装的目录,运行如下命令

git clone https://github.com/THUDM/ChatGLM-6B.git

3.2. 依赖安装

cd ChatGLM-6B
pip install -r requirements.txt

这一步大概率会报错,ModuleNotFoundError,需要根据具体提示安装,提示缺少哪个module就用这个命令安装“pip install xxx”,后面module名字需要确认下,不一定是报错提示的那个。还有一些module,不是python自带的,就需要通过yum先安装,然后重新编译安装python,这块安装的时候就是遇到什么问题,解决什么问题,也没记录,所以没有详细的记录需要安装哪些module,可以找个新环境重新装下,把这个过程记录下。

3.3. 模型下载

https://huggingface.co/THUDM/chatglm-6b/tree/main地址上下载模型,文件比较大,总共加起来大概有12个G,可以直接下载,网上也有一些其他的方法下载,需要将以下内容全部下载下来。

在ChatGLM-6B/web_demo.py文件里指定了模型存放路径

按相对路径,在ChatGLM-6B下新建THUDM/chatglm-6b路径,并将上面下载的文件全部拷贝进去。如果需要指定其他路径,可以修改web_demo.py中的路径代码。

3.4. 启动验证

修改web_demo.py文件,将最后一行share参数改为true.

执行以下命令启动,启动会比较慢。

python web_demo.py

访问日志中的public url就可以直接对话问答了。如果share参数为false,这里不会有public url,只能在127.0.0.1上访问。到这里如果public url能正常访问,并且进行对话,说明ChatGLM-6B部署完成,可以ctrl+c把模型停掉了。

4. wenda安装

4.1. 源码下载

进入指定要安装的目录,运行如下命令

git clone https://github.com/wenda-LLM/wenda.git

4.2. 依赖安装

cd wenda
pip install -r requirements.txt

这里同ChatGLM-6B一样,按需安装依赖。

4.3. 配置文件修改

cp example.config.yml config.yml
vim config.yml

修改以下几个点:

device: cuda

librarys:
  bing:
    count: 5
     #最大抽取数量
  bingsite:
     count: 5
     #最大抽取数量
     site: "www.12371.cn"
     #搜索网站
  fess:
     count: 1
     #最大抽取数量
     fess_host: "127.0.0.1:8080"
     #fess搜索引擎的部署地址
  remote:
    host: "http://127.0.0.1:17860/api/find"
     #远程知识库地址地址
  rtst:
     count: 3
     #最大抽取数量
     size: 20
     #分块大小"
     overlap: 0
     #分块重叠长度
     model_path: "model/text2vec-large-chinese"
     #向量模型存储路径
     device: cuda
     #embedding运行设备

path: "/opt/wenda-source/ChatGLM-6B/THUDM/chatglm-6b"上面部署的chatglm-6b存放路径

llm_type: glm6b
#llm模型类型:glm6b、rwkv、llama、replitcode等,详见相关文件
llm_models:
  rwkv:
     path: "model/rwkv-4-raven-7b-v11.pth"      #rwkv模型位置"
     strategy: "cuda fp16i8"
   #   path: "model/rwkv_ggml_q8.bin"           #rwkv模型位置"
   #   strategy: "Q8_0"       #rwkvcpp:运行方式,设置strategy诸如"Q8_0->16"即可开启,代表运行Q8_0模型在16个cpu核心上
     #rwkv模型参数"

     historymode: state
     #rwkv历史记录实现方式:state、string
  glm6b:
     #path: "model/chatglm-6b-int4"
     path: "/opt/wenda-source/ChatGLM-6B/THUDM/chatglm-6b"
     #glm模型位置"
     strategy: "cuda fp16"
     #cuda fp16  所有glm模型 要直接跑在gpu上都可以使用这个参数
     #cuda fp16i8        fp16原生模型 要自行量化为int8跑在gpu上可以使用这个参数
     #cuda fp16i4        fp16原生模型 要自行量化为int4跑在gpu上可以使用这个参数
     #cpu fp32   所有glm模型 要直接跑在cpu上都可以使用这个参数
     #cpu fp16i8        fp16原生模型 要自行量化为int8跑在cpu上可以使用这个参数
     #cpu fp16i4        fp16原生模型要 自行量化为int4跑在cpu上可以使用这个参数"
     #cuda:0 fp16 *14 -> cuda:1 fp16 多卡流水线并行,使用方法参考RWKV的strategy介绍。总层数28
     lora: ""
     #glm-lora模型位置

4.4. text2vec-large-chinese模型下载

去下面地址下载该模型

https://huggingface.co/GanymedeNil/text2vec-large-chinese/tree/main

将上面文件全部下载下来,拷贝到wenda/model/text2vec-large-chinese文件下。

4.5. wenda启动

python wenda.py
# 后台启动 nohup python -u wenda.py > log.log 2>&1 &

访问http://ip:17860/,打开web页面,进行对话问答。端口可以修改,在config.yml中

5. 本地知识库构建

  • 新建文件夹wenda/txt,将需要被构建成知识库的txt文件和pdf文件拷贝放进去
  • 执行命令:python plugins/gen_data_st.py

  • 访问闻达控制台,开启本地知识库模式

  • 重新启动闻达,即可通过本地知识库中的知识做问答
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值