小白的本地Langchain-Chatchat部署笔记

前提条件(环境准备)

win操作系统

最好是win11,因为win11对wsl2的支持比较好,会自动避免很多坑。

CPU开启虚拟化

需要在BIOS里开启,因为windows操作系统的wsl2,就是通过虚拟机模拟的一个 Linux环境。
如何开启,请百度搜:cpu虚拟化怎么开启

Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

在这里插入图片描述

安装虚拟化组件(wsl)

wsl是微软在windows操作系统里,通过虚拟化技术,又营造了一个Linux生态,在这个生态里,几乎可以安装和运行所有常用的Linux应用。

安装Ubuntu

Ubuntu是在Linux内核基础上发展出来的Linux操作系统,它的门槛更低,更有利于Linux进步到桌面图形化操作,以及各种基于网络的服务器功能。
注意:
这里的Ubuntu只是微软合作研究的Ubuntu-LTS 版,不是真正的Ubuntu,不过已经模拟的很成功了,绝大部分Ubuntu的功能和命令,在这个版本里都很好的运行,大大方便了我们在windows和 Linux两种环境里来回切换。

更新一下wsl2的升级包

将 WSL 2 设置为默认版本

wls2从C盘迁移到别的磁盘

更新Ubuntu软件包的国内源

安装git-lfs

显卡驱动略,只要安装了GeForce_Experience就行了。

以上步骤具体操作方法可以参考我另一篇笔记

部署有道QAnything的笔记

Langchain-Chatchat部署

一、用Conda搭建一个专用的虚拟环境

经过失败后才发现这一步很关键。
刚开始,我看了Langchain-Chatchat官网的说明后,立马动手,也没认真学习Conda的概念、作用,直接上手部署模型,搞了好几遍,知识库初始化出错,项目启动也出错,就是搞不定。
自己反思前后的步骤:
有的是在没有安装conda前操作的;
有的是在建立Langchain-Chatchat专用虚拟环境后操作的;
有的是在电脑关机重启后(没有重新激活进入Langchain-Chatchat专用虚拟环境)操作的。
于是认真学习了一下conda的概念、作用,还做了笔记。

小白的Conda学习笔记

学习完了,重新部署,上文的准备工作完成后,第一步就建立专用的虚拟环境,以后始终在这个虚拟环境里操作,包括安装项目的依赖,拉取模型,修改配置,初始化知识库,启动项目,直至部署成功。

安装windows的Conda------Anaconda

安装这玩意主要是建立Python的虚拟环境,kao,又是虚拟环境,计算机技术中到处都是虚拟技术。
什么是Conda自己百度,或者看我的笔记。

类似上面说的Docker Desktop,我们要充分利用windows的生态,在Anaconda官网下载后双击安装就完了,就不用在命令行下载、安装、配置Conda。我们既可以在窗口里操作,也可以在命令行操作各种conda命令了。

在这里插入图片描述
在窗口操作的好处就是,动动鼠标就可以,建立、切换不同Python版本的环境,查看该环境已安装哪些软件,这些软件的版本号,同时还能看见–可以安装但未安装的软件包。
也可以进入当前虚拟环境的命令行,敲键盘执行命令。

建立Langchain-Chatchat专用虚拟环境

我是在Anaconda图形窗口新建了一个名为chain的虚拟环境,选择Python版本,点击建立,就OK了。
在这里插入图片描述
然后鼠标点击绿色的启动按钮,从默认的base(root)环境切换到chain专用环境,再点击打开命令行窗口。
在这里插入图片描述
命令行左边显示了当前所处的虚拟环境名称
在这里插入图片描述
把已安装的python库更新一下,相当于执行 pip3 install --upgrade pip 命令。
在这里插入图片描述

二、拉取项目仓库代码

这个简单,进入Ubuntu窗口,在根目录上建立一个新文件夹lang,然后进入这个文件夹,把Langchain-Chatchat项目代码放在这个文件夹里。
在这里插入图片描述
在这里插入图片描述

建议在github上拉取,国内其它几个仓库平台上的最后更新日期不如github新。

git clone --recursive https://github.com/chatchat-space/Langchain-Chatchat.git

三、安装项目的依赖

拉取结束后,进入项目所在的Langchain-Chatchat文件夹,安装项目依赖。

// 进入目录
$ cd Langchain-Chatchat

// 安装全部依赖
$ pip install -r requirements.txt

全部依赖也不是很大,只要更新了Ubuntu软件包的国内源,应该很快就能完成。

四、模型下载

模型下载很费时间,我是在modelscope魔搭下载的,速度可以达到50M。全部下载model_config.py.example默认的模型。
基座大模型:chatglm3-6b
Embedding模型: bge-large-zh-v1.5
在Langchain-Chatchat文件里再新建一个文件夹,名字自己定,我建了一个modesss文件夹,一会把两个模型都下载到这个文件夹里,方便后面配置文件修改。

$ cd Langchain-Chatchat
$ mkdir modesss
$ cd modesss
$ git lfs install
$ git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
$ git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh-v1.5.git

五、修改配置文件

用自己的IDE软件,修改相关配置文件

1、批量将configs下的.example文件复制并命名为.py文件

因为项目启动程序执行的是configs文件夹下所有文件的.py文件,如果不把他们的后缀从.example改为.py就会出错。
copy_config_example.py就是一个简单的重命名程序,当然,你也可手工改。
用IDE软件执行项目根目录下的copy_config_example.py,
在这里插入图片描述

或者在命令行执行copy_config_example.py

$ cd Langchain-Chatchat
$ python copy_config_example.py

2、修改model_config.py里的模型路径

在windows资源管理器,找到我们存放两个模型的路径。
BAAI里存放的下载好的Embedding模型: bge-large-zh-v1.5
THUDM里存放的是下载好的基座大模型:chatglm3-6b

在这里插入图片描述
对路径点击右键,复制绝对地址。
在这里插入图片描述

用IDE软件修改configs文件夹下的model_config.py,第6行,把我们刚才复制的绝对路径,粘贴到这里。
在这里插入图片描述
再检查一下Embedding模型的名称,和我们BAAI文件夹的保持一模一样。
在这里插入图片描述

在这里插入图片描述
基座大模型,不用改。
在这里插入图片描述
Embedding模型的PATH路径,与我们modesss文件夹要一模一样。
在这里插入图片描述
基座模型的PATH路径,与我们modesss文件夹要一模一样。
在这里插入图片描述
保存上述的修改。

六、初始化知识库

我们是第一次运行,所以执行:

$ python init_database.py --recreate-vs

初始化过程,电脑风扇狂飙,CPU飙到100%,GPU飙到46%,内存飙到95%。当时吓了一跳,生怕电脑烧了,忘了截图。
历时大约5分钟。

七、启动项目–顺利成功

很顺利,大约8分钟,CPU、GPU都很正常。

python startup.py -a

在这里插入图片描述

在这里插入图片描述
http://0.0.0.0:8501是打不开的,用http://127.0.0.1:8501进入。
在这里插入图片描述

  • 40
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值