背景
搭建一个本地知识库有许多好处。首先,它可以帮助我们集中存储和管理信息,使得查找和访问知识变得更加高效。其次,本地知识库可以提高工作效率,因为我们不必每次都依赖于互联网搜索。此外,它还有助于保护隐私,因为我们可以在本地存储敏感信息而不必上传到外部服务器。
项目介绍
项目地址
https://github.com/chatchat-space/Langchain-Chatchat
项目概述
Langchain-Chatchat 是一个开源、可离线部署的检索增强生成(RAG)大模型知识库项目。
它结合了 ChatGLM 等大型语言模型和 Langchain 等应用框架,旨在构建一个对中文场景友好且支持开源模型的知识库问答解决方案。
实现原理
- 加载文件。
- 读取文本。
- 文本分割。
- 文本向量化。
- 问句向量化。
- 在文本向量中匹配与问句向量最相似的 top-k 个文本。
- 将匹配出的文本作为上下文和问题一起添加到 prompt 中。
- 提交给 LLM(如 ChatGLM)生成回答。
支持模型
LLM 模型(本地)
支持多个模型,例如 Vicuna、Alpaca、LLaMA、Koala 等。
Embedding 模型(本地)
支持多个 HuggingFace 中的模型,如 m3e-small、m3e-base、m3e-large 等。
项目本地部署
准备环境
确保你的电脑拥有 8GB 以上显存的一张英伟达显卡。
1. Python 环境
确保你的设备上安装了 Python,其版本应该控制在 3.8~3.11 之间。 下载地址:https://www.python.org/downloads/
2. CUDA Toolkit
确保你的设备安装了 CUDA Toolkit,使用下面命令判断设备上是否安装了 CUDA:
nvcc --version
如果没有类似以下内容的输出,那么你需要到英伟达官网下载一个 CUDA 并完成安装。 下载地址:https://developer.nvidia.com/cuda-12-1-0-download-archive
3. 克隆源代码
输入以下指令下载源代码:
git clone https://github.com/chatchat-space/Langchain-Chatchat
4. 创建虚拟环境
在 Langchain-Chatchat 项目内输入以下指令来创建一个虚拟环境:
python -m venv venv
在刚打开的终端上输入以下指令来激活虚拟环境,这个终端请不要关闭!
.\
venv\Scripts\activate
5. 安装依赖
在上述终端继续输入以下命令来安装项目运行的全部依赖:
pip install -r requirements.txt
pip install -r requirements_api.txt
pip install -r requirements_webui.txt
安装完毕后,输入指令 pip list 来查看应用 torch、torchvision、torchaudio 是否为适用于 GPU。
如果你安装的 torch、torchvision、torchaudio 为 CPU 版本,那么你需要输入以下命令来将其卸载:
pip uninstall torch torchvision torchaudio
随后输入以下命令来安装 GPU 版本的 torch、torchaudio、torchvision:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
6. 下载大模型
新建一个文件夹,在文件夹内打开终端,输入以下指令来下载对应的大模型。
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b-32k.git
git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh-v1.5.git
这里将下载的模型 chatglm3-6b-32k 改为 chatglm3-6b。
或者在 HuggingFace 上下载所需的模型:
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh
7. 初始化项目配置
python copy_config_example.py
python init_database.py --recreate-vs
如果你是在 Windows 系统进行初始化操作,可能会出现错误。为此你需要输入以下命令对刚安装的依赖包进行降级:
pip install langchain-community==0.0.19
在降级后,你就可以继续初始化操作了。整个初始化过程大概需要十分钟。
8. 运行项目
在终端输入以下命令来运行项目:
python startup.py -a
如果是第一次运行的话,系统会提示你输入一个邮箱账号。 最后你会得到如下画面,将 URL 链接复制下来,然后在浏览器内打开,这样你就可以使用基于 Langchain-Chatchat 构建的本地知识库了!
随后你就可以上传你的本地文件,然后来构建你的知识库了。
如果你愿意,你也可以使用 Langchain-Chatchat 进行本地 AI 机器人聊天。
当然,为了下次更快地启动这个项目,下次你在项目 Langchain-Chatchat 文件夹内输入以下指令即可快速启动整个项目:
.\venv\Scripts\activate
python startup.py -a


