免费下载
项目压缩包下载:https://pan.quark.cn/s/c85416370a01
项目简介
Langchain-Chatchat:一个能够实现完全本地化推理的知识库增强方案。它聚焦于解决企业在数据安全保护和私域化部署方面的痛点。这个项目采用了Apache License,开源免费商用。
一种利用langchain 思想实现的基于本地知识库的问答应用,目标是建立一套针对中文场景与开源模型支持模式、可离线运行的知识库问答解决方案。
支持市面上主流的本地大语言模型和嵌入模型,同时也支持开源的本地向量数据库。
依托于本项目支持的LLM与嵌入模型,可实现全部使用开源模型离线部署。同时,也支持OpenAI GPT API的调用,附加在后续持续补充对开源模型及模型 API 的接入。
本项目实现原理如下图所示,流程包括加载文件 -> 读取文本 -> 文本分割 -> 文本支撑化 -> 问句支撑化 -> 在文本支撑中匹配出与问句支撑最相似的top k
个-> 匹配出的文本作为上下文和问题一起添加到prompt
中 -> 提交给LLM
生成回答,从文档处理角度来看,流程如下:
本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。
版本所使用代码已更新至本项目 v0.2.10
版本。
1.环境配置
首先,确保你的机器安装了 Python 3.8 - 3.11 (我们强烈推荐使用 Python3.11)。
$ python --version Python 3.11.7
接着,创建一个虚拟环境,并在虚拟环境内安装项目的依赖,建议安装 CUDA 12.1版本,点击前往【官方下载】
2.正式安装
# 拉取仓库 $ 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 中相应依赖取消注释再安装。
请注意,LangChain-Chatchat 0.2.x
系列是针对 Langchain 0.0.x
系列版本的,如果你使用的是 Langchain 0.1.x
系列版本,需要降级您的Langchain
版本。
3.下载模型
如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 HuggingFace 下载。
注意:需科学上网
以本项目中默认使用的 LLM 模型 THUDM/ChatGLM3-6B 与 Embedding 模型 BAAI/bge-large-zh 为例:
下载模型需要先安装 Git LFS ,然后运行
$ git lfs install $ git clone https://huggingface.co/THUDM/chatglm3-6b $ git clone https://huggingface.co/BAAI/bge-large-zh
4.初始化知识库和配置文件
$ python copy_config_example.py $ python init_database.py --recreate-vs
5.启动
$ python startup.py -a
第一次启动的时候需要输入一个邮箱,就可以打开 webUI 可视化界面进行使用!
GPU硬件推荐参数
- 7B的模型,显存14GB+,推荐 NVIDIA RTX4080 16G及以上
- 14B级模型,显存30GB+,推荐 NVIDIA Tesla V100 32G及以上
- 39B级模型,显存69GB+,推荐 NVIDIA A100 80G及以上
- 72B级模型,显存145GB+,需要专业级显卡或者多卡叠加
6. 启动界面示例
- FastAPI Docs 界面
- Web UI 启动界面示例:
- Web UI 知识库管理页面: