使用 Langchain-Chatchat 构建自己的AI知识库

浏览: 301 次浏览 作者: 去年夏天 分类: AI聊天,AI,技术文章 发布时间: 2024-03-21 21:02

记录一下自己部署可离线使用的大语言模型本地知识库一键整合包 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多版本切换,具体我这里不教需要的自己琢磨。

  1. 访问 Python3.11.7 下载页面

  2. 把页面拉到底,找到【Windows installer (64-bit)】点击下载

  3. 安装是注意,到这一步,需要如下图这样勾选 Add Python to PATH

    然后再点上边的 Install Now
    python

  4. 安装完成后,命令行里输入Python -V,如果返回Python 3.11.7那就是成功安装了。

  5. 命令行里输入 python -m pip install --upgrade pip安装升级pip到最新版。

安装 Git

  1. 访问 Git 下载页面

  2. 点击【Download for Windows】,【64-bit Git for Windows Setup】点击下载

  3. 一路下一步安装

  4. 命令行运行git --version,返回git version 2.XX.0.windows.1就是安装成功了。

安装 CUDA (nvidia显卡用户)

  1. 命令行运行nvidia-smi,看下自己显卡支持的 CUDA版本
    (升级显卡驱动可能会让你支持更高版本的 CUDA)

  2. 接下来前往英伟达 CUDA 官网,下载对应版本。
    注意请下载,你对应的版本号最高的版本,比如我的是11.7的,那就下11.7.1(这里最后的.1意思是,11.7版本的1号升级版)

  3. 选你自己的操作系统版本,注意下个离线安装包【exe [local]】,在线安装的话,速度还是比较堪忧的。

正式安装

以下假设你当前文件目录是D:\github\

建立虚拟环境并安装依赖

避免玩其他 Python 项目时出现项目依赖冲突问题

  1. 安装虚拟环境工具(virtualenv)
pip install virtualenv
pip install virtualenvwrapper
# virtualenvwrapper一定要在virtualenv后安装
  1. 创建一个新的虚拟环境:
virtualenv Langchain

这将在当前目录下创建一个名为”Langchain”的虚拟环境。

  1. 激活虚拟环境:
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文件夹,分别剪贴进THUDMBAAI文件夹下。(因为我不想去配置文件里改模型的默认路径)

初始化知识库和配置文件

按照下列方式初始化自己的知识库和简单的复制配置文件

$ 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 端口

2 条评论
  • 星风随雨

    2024-06-24 16:35

    这个项目已经更新到3.0了,大佬能重新做过部署方法吗?

    1. 去年夏天

      2024-06-24 18:15

      我也在研究中。本体好装了,就是模型分离了,麻烦了一点。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据