背景
搭建一个本地知识库有许多好处。首先,它可以帮助我们集中存储和管理信息,使得查找和访问知识变得更加高效。其次,本地知识库可以提高工作效率,因为我们不必每次都依赖于互联网搜索。此外,它还有助于保护隐私,因为我们可以在本地存储敏感信息而不必上传到外部服务器。
项目介绍
项目地址
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


