centos7系统安装Vicuna(小羊驼)聊天机器人

准备工作:

安装vicuna之前需要做一些准备工作,比如:git、python3、升级openssl等

1、Git安装

因为要克隆项目源码所以要安装,安装过程很简单yum install git,这里不做过多介绍。如果不安装git也可以,项目源码可以去官网直接下载zip包。

2、升级openssl

为什么要先升级openssl?因为我先安装的python-3.10.11,后来发下openssl版本太低,导致又重新安装一般python。我这里安装的版本是openssl-1.1.1q,openssl-1.x最新版的是openssl-1.1.1s。

判断是否需要升级,先执行openssl version 看看版本是否低。

1)下载

https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz

或者

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz

2)解压缩

 tar -zxvf openssl-1.1.1q

3)编译和安装

cd openssl-1.1.1q

./config --prefix=/usr/local/openssl_1.1.1 --openssldir=/usr/local/openssl_1.1.1

make && make install

4)备份与创建软连

mv /usr/bin/openssl /usr/bin/openssl.old ###备份

mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old ###备份

ln -s /usr/local/openssl_1.1.1/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl_1.1.1/include/openssl /usr/include/openssl

ln -s /usr/local/openssl_1.1.1/lib/libssl.so /usr/lib64/libssl.so

5)配置lib库

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

ldconfig -v ###建立动态链接

6)测试

openssl version

出现OpenSSL 1.1.1q  5 Jul 2022,升级成功。

3、python-3.10.11安装

1)下载:

我这里安装的python-3.10.11,下载地址:https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz

或者wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz直接下载

2)解压缩

tar -zxvf Python-3.10.11.tgz

3)修改安装文件解决ssl的问题

cd Python-3.10.11/Modules

vi Setup,找到如下内容,去掉注释,配置自己升级的openssl

OPENSSL=/usr/local/openssl_1.1.1
 _ssl _ssl.c \
     -I$(OPENSSL)/include -L$(OPENSSL)/lib \
     -lssl -lcrypto

保存并退出

4)配置

cd ../Python-3.10.11

./configure --prefix=/usr/local/python3 (安装目录) --with-openssl=/usr/local/openssl_1.1.1(openssl安装目录)

5)准备编译环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make

 6)编译和安装

make & make install

7)备份系统自带的python和pip的软链,并创建python3、pip3的软链

mv /usr/bin/python3 /usr/bin/python3.old

mv /usr/bin/pip3 /usr/bin/pip3.old

ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3

8)验证

python3 -V

pip3 -V

安装完成。

9)pip3国内镜像源配置

由于采用pip install 安装,需要下载很多的相关依赖,pip默认的镜像源太慢,这里配置国内阿里的源。

mkdir /root/.pip #创建文件夹

cd /root/.pip #进入目录

vim pip.conf #编辑配置文件

[global]

trusted-host = mirrors.aliyun.com

index-url = https://mirrors.aliyun.com/pypi/simple

命令配置

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

pip config set install.trusted-host mirrors.aliyun.com # 永久配置国内镜像源

pip3 config list # 查看下载源配置列表

配置好镜像源后,可以使用“pip config list”命令查看下载源配置列表,具体写入的配置文件路径为:/root/.config/pip/pip.conf

国内常用Python镜像源
阿里云
Simple Indexicon-default.png?t=N3I4http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学
Simple Indexicon-default.png?t=N3I4https://pypi.mirrors.ustc.edu.cn/simple
清华大学
Simple Indexicon-default.png?t=N3I4https://pypi.tuna.tsinghua.edu.cn/simple
豆瓣
Simple Indexicon-default.png?t=N3I4http://pypi.douban.com/simple/
华中理工大学
http://pypi.hustunique.com/simpleicon-default.png?t=N3I4http://pypi.hustunique.com/simple
山东理工大学
http://pypi.sdutlinux.org/simpleicon-default.png?t=N3I4http://pypi.sdutlinux.org/simple

----------------------------------------------准备工作完成-----------------------------------------------------

安装vicuna

官网地址:https://github.com/lm-sys/FastChat

 1、克隆FastChat项目源码

git clone https://github.com/lm-sys/FastChat.git

或者下载zip包

https://codeload.github.com/lm-sys/FastChat/zip/refs/heads/main

以克隆为例

2、更新pip3

pip3 install --upgrade pip

3、安装FastChat

pip3 install -e .

安装过程中会下载很多依赖,直到出现安装成功的提示出现。

-------------------------------------如果不做LLaMA模型的转换,到此安装结束-----------------------------------

4、下载转换后的小羊驼模型(vicuna-7b-v1.1或者vicuna-13b-v1.1)

7b-v1.1: 小羊驼模型7b-v1.1 (访问码:aj2u)

13b-v1.1:小羊驼模型13b-v1.1 (访问码:p3nk)

5、命令行运行模型开始提问

python3 -m fastchat.serve.cli --model-path /vicuna-7b-v1.1(模型存放的路径) --device cpu (我的环境是运行在cpu上的,也可以根据官网操作在gpu上)--style rich

python3 -m fastchat.serve.cli --model-path /vicuna-13b-v1.1 --device cpu --style rich

6、如果想要体验完整安装过程,我们这里接第3步。Transformers安装

pip3 list检查是否有transformers,如果没有执行下面的命令安装。

pip3 install git+https://github.com/huggingface/transformers

直到出现提示安装成功

7、下载LLAMA模型(windows10操作系统迅雷下载)

热心的码友也给出了磁力链接:

magnet:?xt=urn:btih:cdee3052d85c697b84f4c1192f43a2276c0daea0&dn=LLaMA

注意勾选中“tokenizer.model”、“tokenizer_checklist.chk”,否则后面转换vicuna模型时会报错。

完整备份:ipfs://Qmb9y5GCkTG7ZzbBWMu2BXwMkzyCKcUjtEKPpgdZ7GEFKm

7B: ipfs://QmbvdJ7KgvZiyaqHw5QtQxRtUd7pCAdkWWbzuvyKusLGTw

13B: ipfs://QmPCfCEERStStjg4kfj3cmCUu1TP7pVQbxdFMwnhpuJtxk

30B: ipfs://QmSD8cxm4zvvnD35KKFu8D9VjXAavNoGWemPW1pQ3AF9ZZ

65B: ipfs://QmdWH379NQu8XoesA8AFw9nKV2MpGR4KohK7WyugadAKTh

centos7系统安装Vicuna(小羊驼)聊天机器人_第1张图片

 8、转换LLaMA模型

1)把下载的LLaMA模型上传到centos中下载的FastChat目录

切换到centos,进入LLaMA模型的目录,会看到7B、tokenizer.model、tokenizer_checklist.chk3个文件。

2)执行转换命令:

convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./output/7B

会得到在LLaMA目录会多出output这个转换后的模型。下图是在win10上转换的仅供参考。

centos7系统安装Vicuna(小羊驼)聊天机器人_第2张图片

如果报此错

执行:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple protobuf==3.19.0 

可以解决 

9、下载vicuna-7b-delta-v1.1权重

把vicuna-7b-delta-v1.1权重下载到LLaMA模型下

git lfs clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1

10、合并模型

进入LLaMA目录,执行如下命令

python3 -m fastchat.model.apply_delta --base ./output/7B/ --target ./vicuna-7b-v1.1 --delta vicuna-7b-delta-v1.1

合并后会得到和第4步一样的小羊驼模型(vicuna-7b-v1.1或vicuna-13b-v1.1)

执行第5步的命令,开始聊天提问

11、启动web ui页面

python3 -m fastchat.serve.controller

centos7系统安装Vicuna(小羊驼)聊天机器人_第3张图片python -m fastchat.serve.model_worker --model-name 'vicuna-7b-v1.1' --device cpu --model-path ./vicuna-7b-v1.1(合并后的小羊驼模型)

centos7系统安装Vicuna(小羊驼)聊天机器人_第4张图片python3 -m fastchat.serve.gradio_web_server

centos7系统安装Vicuna(小羊驼)聊天机器人_第5张图片

 centos7系统安装Vicuna(小羊驼)聊天机器人_第6张图片

 参考资料:

https://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pcicon-default.png?t=N3I4https://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pc

百度安全验证https://baijiahao.baidu.com/s?id=1762231153568504365&wfr=spider&for=pc

vicuna 13b 纯CPU部署 - Uk0's space 

小羊驼模型(FastChat-vicuna)运行踩坑记录 - 知乎

开源GPT-4小羊驼(Vicuna)快速上手指南_摆摊的豆丁的博客-CSDN博客

大模型也内卷,Vicuna训练及推理指南,效果碾压斯坦福羊驼 - 知乎

这是一个用于发布“Vicuna:一款令人印象深刻的GPT-4开放式聊天机器人”的代码仓库。-ChatGPT玩法交流社区-玩网社区-FancyPig's blog

Linux离线安装python第三方库详细步骤_才疏学浅浅浅浅浅的博客-CSDN博客

python3安装完,出现 No module named '_ssl',解决方案_no module named _ssl___python__的博客-CSDN博客 

你可能感兴趣的:(机器人,python)