如何搭建一个本地化知识库问答系统,支持 PDF、Word 等自由检索,并能够实现实时对话查询?
背景搭建一个本地知识库有许多好处。首先,它可以帮助我们集中存储和管理信息,使得查找和访问知识变得更加高效。其次,本地知识库可以提高工作效率,因为我们不必每次都依赖于互联网搜索。此外,它还有助于保护隐私,因为我们可以在本地存储敏感信息而不必上传到外部服务器。项目介绍Ⅰ、项目地址:Ⅱ、项目概述:Langchain-Chatchat 是一个开源、可离线部署的检索增强生成(RAG)大模型知识库项目。它结
背景
搭建一个本地知识库有许多好处。首先,它可以帮助我们集中存储和管理信息,使得查找和访问知识变得更加高效。其次,本地知识库可以提高工作效率,因为我们不必每次都依赖于互联网搜索。此外,它还有助于保护隐私,因为我们可以在本地存储敏感信息而不必上传到外部服务器。
项目介绍
Ⅰ、项目地址:
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以上的一张英伟达显卡,
Ⅰ、确保你的设备上安装了python,其版本应该控制在3.8~3.11之间,python下载地址:
https://www.python.org/downloads/
Ⅱ、确保你的设备安装了CUDA Toolkit,使用下面命令判断设备上是否安装了CUDA,
nvcc --version
如果没有类似以下内容的输出,
C:\Users\Administrator>nvcc --version``nvcc: NVIDIA (R) Cuda compiler driver``Copyright (c) 2005-2021 NVIDIA Corporation``Built on Mon_Sep_13_20:11:50_Pacific_Daylight_Time_2021``Cuda compilation tools, release 11.5, V11.5.50``Build cuda_11.5.r11.5/compiler.30411180_0
那么你需要到英伟达官网下载一个CUDA并完成安装,CUDA下载地址:
https://developer.nvidia.com/cuda-12-1-0-download-archive
打开这个网址后找到对应你操作系统版本的CUDA下载即可,
如果你因为网络原因,而无法下载这个CUDA Toolkit,那么这里我会为大家准备一个安装包,本文结尾有分享。
Ⅲ、将源代码下载到本地:
可以输入以下指令下载源代码:
git clone https://github.com/chatchat-space/Langchain-Chatchat
具体过程可以参考下图
如果还是因为网络原因而无法获取源代码去,那么同样在本文结尾也给大家准备好了相应的源代码。
Ⅳ、在Langchain-Chatchat项目内输入以下指令来创建一个虚拟环境:
Python -m venv venv
创建过程请参看下图所示
在刚打开的终端上输入以下指令来激活虚拟环境,这个终端请不要关闭!
.\venv\Scripts\activate
Ⅴ 、在上述终端继续输入以下命令来安装项目运行的全部依赖:
`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、torchvison
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Ⅵ、下载大模型
新建一个文件夹,在文件夹内打开终端,输入以下指令来下载对应的大模型。
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
下载展示了一个下载过程:
Ⅶ、初始化项目配置
python copy_config_example.py``python init_database.py --recreate-vs
如果你是在windwos系统进行初始化操作,那么你必然会出现下图所示的错误:
为此你需要输入以下命令刚安装的依赖包进行降级!
pip install langchain-community == 0.0.19
在降级后,你就可以继续初始化操作了,
整个初始化过程大概需要十分钟左
Ⅷ、运行项目
在终端输入以下命令来运行项目:
python startup.py -a
如果是第一次运行的话,系统会提示你输入一个邮箱账号,
最后你会得到如下画面,将下图所示的url链接复制下来,然后在浏览器内打开,这样你就可以使用基于Langchain-Chatchat构建的本地知识库了!
随后你就可以上传你的本地文件,然后来构建你的知识库了,
如果你愿意,你也可以使用Langchain-Chatchat进行本地AI机器人聊天。
当然,为了下次更快地启动这个项目,下次你在项目Langchain-Chatchat文件夹内输入以下指令即可快速启动整个项目:
.\venv\Scripts\activate``python startup.py -a
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)