欢迎光临散文网 会员登陆 & 注册

Baize-Chatbot AI部署搭建

2023-04-08 15:54 作者:骑驴看数据  | 我要投稿

        Baize,中文名白泽,中国古代神话中的瑞兽。能言语,通万物之情,知鬼神之事,“王者有德”才出现,能辟除人间一切邪气;

        自称可以通过chatgpt在几小时内训练一个你自己的chatbot,并且只需要一张GPU显卡。目前开源的模型有Baize-7B/13B/30B/Healthcare-7B。中文模型Baize Chinese-7B也即将开源,值得期待。更多详细信息就不做过多介绍了,直接去github了解。

项目地址:https://github.com/project-baize/baize-chatbot

现将搭建过程以及注意的问题整理如下:

一、环境配置

操作系统:CentOS7.9(虚拟机)  # 如果是windows系统并且有GPU效果会更好。

CPU:i7-4720HQ  8核

内存:12G   (内存一定要多多益善,否则各种无法分配内存的报错。)

SWAP:17G (之所以给swap这么大是因为我内存不够使了。)

Python版本:项目推荐使用python3.8

二、部署

1、克隆项目

[root@Python3 data]# git clone https://github.com/project-baize/baize-chatbot.git

[root@Python3 data]# ls

baize-chatbot

2、安装依赖

[root@Python3 data]# cd baize-chatbot/    # 进入项目路径

[root@Python3 baize-chatbot]# ls

collect.py  data  demo  finetune.py  LICENSE  preprocess.py  README.md  requirements.txt

[root@Python3 baize-chatbot]# cd demo/    # 进入demo文件夹

[root@Python3 demo]# ls

app_modules  app.py  assets  requirements.txt

[root@Python3 demo]# pip3 install -r requirements.txt  # 开始安装依赖

注意:这个安装依赖的过程中指向国内的源是不行的,需要想办法让服务器出去才行,这个过程会很漫长,也会遇到超时的情况,如果安装哪个模块超时了,可以单独将该模块下载安装。比如我遇到的,在下载torch-2.0.0-cp38-cp38-manylinux1_x86_64.whl这个模块时,总是下到一半就超时了,这时候根据报错提示的url,我将torch的url复制到我香港的服务器上下载下来,然后通过pip安装(pip3 install torch-2.0.0-cp38-cp38-manylinux1_x86_64.whl -i https://mirrors.aliyun.com/pypi/simple/)单独安装torch可以指向国内源。

3、启动项目

# 临时定义环境变量

    base_model=decapoda-research/llama-7b-hf 

    lora_model=project-baize/baize-lora-7B

# 启动 

    python3 app.py $base_model $lora_model

启动成功界面

        注意:在执行启动命令的时候,需要先关闭服务器出外网的代理,否则会报SSL HTTPS连接错误,此时用国内环境就可以,在这过程中需要下载许多依赖以及模型包,会出现多次断开的情况,没事多执行几遍就可以了。直到看到http:/127.0.0.1:7860就算是启动成功了;

三、配置反向代理

        由于监听在服务器的127.0.0.1:7860,要想外网访问就得通过nginx代理出去;配置方法如下:

配置文件

        注意:nginx需要配置支持websocket连接,否则在向baize提问的时候会报如下错误:

通过打开浏览器控制台发现是被websocket给拦截了,所以需要配置nginx支持websocket;

四、访问

webUI

        然后就可以愉快的向你的baize-chatbot提问了,然而由于我是用的是CPU,并且还用了swap分区,我就向它问了个Hello,等了快1个小时也没回答我,这不是模型的问题,而是我机器性能实在是跟不上。就到这吧,努力搬砖,换新机器。


Baize-Chatbot AI部署搭建的评论 (共 条)

分享到微博请遵守国家法律