项目介绍
基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开一种利用 langchain 思想实现的基
于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知
识库问答解决方案。
依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用开源模型离线私有部
署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型
API 的接入。
本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句
向量化 -> 在文本向量中匹配出与问句向量最相似的 -> 匹配出的文本作为上下文和问题一起添加
打包-> 提交给LLM,最后生成回答。
强烈推荐使用 Python3.11, 创建一个虚拟环境,并在虚拟环境内安装项目的依赖。需要注意电
脑显存要大于12G, 不然该项目跑不动。
该项目是一个可以实现 __完全本地化__推理的知识库增强方案, 重点解决数据安全保护,私域化
部署的企业痛点。 本开源方案采用Apache License,可以免费商用,无需付费。
环境部署
创建python虚拟环境
确保电脑已按照anaconda,然后配置一个python虚拟环境(python版本为3.11)
相关命令如下:
# 查看当前的虚拟环境
conda env list
# 创建一个新的虚拟环境
conda create -n py3.11_forLangchainChatGLM python=3.11
克隆项目
克隆github上的开源项目文件夹,仓库地址:https://github.com/chatchat-space/Langchain-Chatchat
git命令: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
模型下载
# 资料包
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh
初始化
# 初始化(在Langchain-Chatchat文件夹下)
python copy_config_example.py
python init_database.py --recreate-vs
启动
在Langchain-Chatchat文件夹下
python startup.py -a
注:更具体可以参考开源仓库https://github.com/chatchat-space/Langchain-Chatchat/