私有化部署的个人知识库-langchain+Baichuan2-7B

AIGC
后台-插件-广告管理-内容页头部广告(手机)

Langchain-chatchat是一款使用了大语言模型的个人知识库,实现自动化问答和知识管理。用户可以上传自己的私有化文档,并对自己的文档进行提问,用户问题的答案也是完全由本地部署的大语言模型生成的。

9月6日,百川智能宣布正式开源微调后的Baichuan2-7B、Baichuan2-13B、Baichuan2-13B-Chat与其4bit量化版本,并且均为免费可商用。

本文是基于

本文是基于Langchain-chatchat和Baichuan2-7B.

部署条件准备

在准备部署之前,请确保你拥有一台满足以下条件的Linux主机或者WSL:
● 主机必须具备Nivida显卡,并且显存容量要达到6GB以上。
● 主机的内存容量应达到8GB以上。
● 主机的硬盘空间应达到100GB以上。
开始部署 以下是我部署所使用的环境和配置信息:
● 操作系统:WSL Ubuntu 22.04
● 显卡:NVIDIA GeForce GTX 3060 Laptop GPU
● 显存:6GB
● 内存:64GB
● 硬盘:2TB

部署步骤

  1. 安装miniConda
    miniConda是一个轻量级的Conda版本,Conda能够快速创建和切换Python环境,使我们能够方便地在不同项目中使用不同的Python版本和库,从而避免版本冲突的问题。下载地址:https://docs.conda.io/en/latest/miniconda.html#windows-installers
    安装后,需要把conda路径加入到环境变量中,以便在任意目录下都可以使用conda命令。安装过程中会提示你是否将conda加入到环境变量中,选择yes即可。
  2. 安装git-scm(如果已经安装,可以跳过这一步)
    下载地址: https://git-scm.com/downloads
  3. 安装CUDA
    CUDA是NVIDIA提供的一个并行计算平台和编程模型,可以利用GPU的并行计算能力,加速计算密集型任务。下载地址:https://developer.nvidia.com/cuda-downloads
    安装过程中,需要注意以下几点:● 选择合适的版本:如果你的显卡是NVIDIA的,那么选择NVIDIA Driver,否则选择NVIDIA CUDA Toolkit。● 安装时,选择Custom(自定义)选项,然后选择合适的安装路径,例如:D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5。● 安装时,选择合适的组件,例如:CUDA Toolkit 11.5、CUDA Samples 11.5、Visual Studio Integration 11.5。● 安装时,选择合适的安装选项,例如:安装驱动程序、安装CUDA 11.5、安装CUDA 11.5 Samples。● 安装完成后,需要将CUDA的bin目录加入到环境变量中,例如:D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin。
  4. 安装cuDNN
    cuDNN是NVIDIA提供的一个GPU加速库,可以加速深度神经网络的训练和推理。下载地址:https://developer.nvidia.com/rdp/cudnn-download

  5. 下载langchain-ChatGLM代码
    在任意目录下,打开命令行,执行以下命令:
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
创建conda环境,并安装依赖cd langchain-ChatGLMconda create -p ./env python=3.8conda activate ./envpip install -r requirements.txt

备注:Linux下,在安装依赖之前,需要先安装paddleocr的相关依赖,如libX11、libXext:

apt install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-devapt install libXext
  1. 下载离线模型
    langchain-chatchat使用了两种模型,一种是用于语义分段和向量转换的embedding模型,另一种是用于生成回复的大语言LLM模型(比如ChatGLM2-6B)。


● 修改embedding模型路径,例如:

embedding_model_dict = {    "text2vec": "/your/path/to/m3e-base",}


● Baichuan2-7B模型

git clone https://huggingface.co/baichuan-inc/Baichuan2-7B-Chat-4bits


8.Baichuan2模拟OPENAI的API

实用FASTAPI框架启动baichuan2,并模拟OPENAI的API。

私有化部署的个人知识库-langchain+Baichuan2-7B
  1. 运行:
    python startup.py --all-webui
    如果没有报错,可以打开浏览器并访问
    http://your_server_ip:8501/,即可查看Web界面。

私有化部署的个人知识库-langchain+Baichuan2-7B

所需的各种安装文件,和离线模型的百度网盘链接,可以私信联系提供。

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。