免费下载

项目压缩包下载: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 知识库管理页面:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。