使用 Langchain-Chatchat 构建自己的AI知识库
记录一下自己部署可离线使用的大语言模型本地知识库一键整合包 Langchain-Chatchat 的步骤。
Langchain-Chatchat 是一款支持联网在线搜索问答,使用本地或联网知识库问答,知识整理和管理的一体化工具。
Langchain 是一个基于 Python 的自然语言处理框架,用于处理和分析文本数据。通过 Langchain 可对文本进行分词、词性标注、命名实体识别、情感分析等操作,从而提取出有用的信息。
Chatchat 是一个智能聊天机器人可接入多种AI后端,如本地的chatglm,在线的openAI,支持多种自然语言,可以与用户进行实时交互。
准备运行环境
需要准备3个或4个东西
Python 3.11.7,Git ,CUDA,这三个的下载地址在文章的最前边。
视情况,你可能还需要一个魔法上网工具(假设你的魔法上网工具代理在127.0.0.1:6808)
安装 Python 3.11.7 与 pip
我这里采用直接系统内安装Python 3.11.7的方式
如果你会用Miniconda,也可以用Miniconda实现Python多版本切换,具体我这里不教需要的自己琢磨。
- 访问 Python3.11.7 下载页面
-
把页面拉到底,找到【Windows installer (64-bit)】点击下载
-
安装是注意,到这一步,需要如下图这样勾选 Add Python to PATH
然后再点上边的 Install Now
python -
安装完成后,命令行里输入
Python -V
,如果返回Python 3.11.7
那就是成功安装了。 -
命令行里输入
python -m pip install --upgrade pip
安装升级pip到最新版。
安装 Git
-
访问 Git 下载页面
-
点击【Download for Windows】,【64-bit Git for Windows Setup】点击下载
-
一路下一步安装
-
命令行运行
git --version
,返回git version 2.XX.0.windows.1
就是安装成功了。
安装 CUDA (nvidia显卡用户)
-
命令行运行
nvidia-smi
,看下自己显卡支持的 CUDA版本
(升级显卡驱动可能会让你支持更高版本的 CUDA)
-
接下来前往英伟达 CUDA 官网,下载对应版本。
注意请下载,你对应的版本号最高的版本,比如我的是11.7的,那就下11.7.1(这里最后的.1意思是,11.7版本的1号升级版)
-
选你自己的操作系统版本,注意下个离线安装包【exe [local]】,在线安装的话,速度还是比较堪忧的。
正式安装
以下假设你当前文件目录是D:\github\
,
建立虚拟环境并安装依赖
避免玩其他 Python 项目时出现项目依赖冲突问题
- 安装虚拟环境工具(virtualenv)
pip install virtualenv
pip install virtualenvwrapper
# virtualenvwrapper一定要在virtualenv后安装
- 创建一个新的虚拟环境:
virtualenv Langchain
这将在当前目录下创建一个名为”Langchain”的虚拟环境。
- 激活虚拟环境:
D:\github\Langchain\Scripts\activate
这将激活虚拟环境,并将您的终端提示符更改为虚拟环境名称类似这样
(Langchain) D:\github> ▏
拉取源码并安装依赖
# 拉取仓库
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入目录
cd Langchain-Chatchat
# 安装全部依赖
pip install -r requirements.txt
pip install -r requirements_api.txt
pip install -r requirements_webui.txt
# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。
# 修正win下没有pwd模块的问题
pip install langchain-community==0.0.19
# 修正win下torch安装的是不支持CUDA的版本(注意torch==2.1.2和cu121请根据你 的实际情况修改)
pip install torch==2.1.2 --extra-index-url https://download.pytorch.org/whl/cu121 --upgrade
模型下载
$ git lfs install
$ git clone https://huggingface.co/THUDM/chatglm3-6b
$ git clone https://huggingface.co/BAAI/bge-large-zh
然后手动在D:\github\Langchain-Chatchat
目录下,建立THUDM
文件夹与BAAI
文件夹,分别将chatglm3-6b
文件夹与ge-large-zh
文件夹,分别剪贴进THUDM
与BAAI
文件夹下。(因为我不想去配置文件里改模型的默认路径)
初始化知识库和配置文件
按照下列方式初始化自己的知识库和简单的复制配置文件
$ python copy_config_example.py
$ python init_database.py --recreate-vs
一键启动
按照以下命令启动项目
$ python startup.py -a
默认接口
– OpenAI API:127.0.0.1:20000
– Langchain API:127.0.0.1:7861
– Web-UI:127.0.0.1:8501
– 同时 Langchain – Chatchat 内部和模型通信时,可能需要占用本地的 21001~21010 端口
星风随雨
2024-06-24 16:35
这个项目已经更新到3.0了,大佬能重新做过部署方法吗?
去年夏天
2024-06-24 18:15
我也在研究中。本体好装了,就是模型分离了,麻烦了一点。