赞
踩
以前学习机器学习和神经网络,用我那1050ti的电脑勉强得行,如今大模型当道,想搞个大模型玩玩,以前的cpu和显卡已经带不动了,一狠心换了个电脑,之前因为cuda版本过低导致的各种问题终于解决了。
现在开源大模型有很多选择,LLaMA ,BLOOM ,baichuan,BERT,chatglm等等。这里我选择的是清华的chatglm,它对中文支持比较好,维护迭代也比较稳定,大模型根据自己的需求进行选择。
另外为了同时能构建本地知识库,我选择了目前开源的langchain-chatchat的方案。该项目支持目前市面上主流的大模型,你也可以加载自己的模型部署
这里以windows为例,因为windows会遇到的问题比ubuntu更多,所以如果你的windows能顺利部署,ubuntu应该也会顺利
我们选择使用langchain-chatchat来加载运行大模型,所以首先需要获取langchain-chatchat的代码
下载llm模型:chatglm3-6b
git lfs install
下载embedding模型:bge-large-zh
安装CUDA
nvidia-smi
获取当前显卡型号和cuda版本nvcc -V
安装cudnn
某些软件可能需要cudnn加速,以防万一还是安装一个
配置环境变量
cuda基础的环境变量安装的时候已经被配置好了,只需要新增以下两个环境变量即可:
!!注意,这里的路径改成你自己对应的路径
推荐使用anaconda,省心
虚拟环境python版本需要大于3.10,推荐使用3.11
conda create -n langchain-311
进入langchain的根目录,打开cmd,如果你使用pycharm,直接打开terminal也可以
使用conda虚拟环境
conda activate langchain-311
安装pytorch-gpu版本
python
import torch
print(torch.version.cuda)
print(torch.cuda.is_available())
安装项目依赖
# -i后面是国内镜像源,可以根据自己的需要选择,如果是内网安装的朋友只能自己手动下载wheel安装了
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements-api.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements-lite.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements-webui.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
注意:
这里requirements.txt中安装的torch默认是cpu版本的,为了防止安装时gpu版本因为各种情况被覆盖,再次查看一下自己安装的torch是否为gpu版,如果不是重新安装torch-cuda
pip list installed | findstr torch
没有问题继续下一步
python copy_config_example.py
python copy_config_example.py
刚才初始化的配置文件都在configs目录下
model_config.py
MODEL_ROOT_PATH: 模型存放的根路径
默认为空,就是和项目同级别,你也可以修改为自己存放的model的根路径,相对路径和绝对路径都可以,比如刚才下载的chatglm-6b和bge-large-zh你放在了"/app/models"下,那么你这里就配置"/app/models"。
我是直接放在项目根路径下,所以这个值没有修改
EMBEDDING_MODEL:选用的 Embedding模型名称
这个名称不是随便定义的,是和MODEL_PATH下的embed_model绑定的
我们这里的embedding模型用的是bge-large-zh,所以修改成bge-large-zh就可以了
注意: 我们看到这里配置的bge-large-zh模型路径是BAAI/bge-large-zh,所以你的模型路径一定是要有BAAI的,如果你刚才的MODEL_ROOT_PATH配置的是"/app/models",那你的bge-large-zh模型就要放在"/app/models/BAAI"下
LLM_MODELS: 启用的大语言模型
默认就有chatglm3-6b,所以不用修改
注意:chatglm3-6b存放路径同样需要根据model_path中的要求存放
如果model没有按照这里存放的路径存放的话,是无法启动的
basic_config.py
这里是配置日志格式和路径
kb_config.py
知识库参数配置
prompt_config.py
提示词配置
server_config.py
后端系统配置,包括启动ip, 端口,多显卡配置,gpu/cpu切换等
这里只有windows部署的用户需要注意, 这个版本引用的langchain_community版本是有bug的。langchain_community/document_loaders/pebblo.py中在全局引用了pwd模块,这个模块在windows下是没有的,所以windows下启动会报错。
解决方法有两个:
langchain_community\document_loaders\pebblo.py
注释或删除第5行的 import pwd
将import pwd放到262行下的try中
执行python startup.py -a
顺利执行完会出现这样界面
webui的端口默认是8501
成功启动后访问如果无法访问webui,请在启动命令行中回车一下然后再次访问webui即可
这是webui默认的llm对话界面,用户也可以上传自己的知识库,然后使用知识库对话
比如我传的小说到知识库,得到的结果:
部署过程中几个需要注意的点总结一下:
如果觉得写的还不错的话麻烦点个赞吧
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。