使用LangChain和中文羊驼2.0搭建离线版的ChatPDF

本文的目标是搭建一个离线版本的ChatPDF(支持中英文),让你随心地与你想要阅读的PDF对话,借助大语言模型提升获取知识的效率😁。

除此之外,你还可以:

  1. 了解使用LangChain完整的流程。

  2. 学习基于向量搜索和Prompt实现一个文档问答机器人的方法原理。

  3. 了解如何使用llama.cpp量化大模型的方法。

  4. 了解如何使用深度学习中常用的向量数据库。

为了让更多的同学看懂,我会尽量写的小白一点。如果你是有经验的同学,发现我哪里写的不对,若你可以在评论区指出,我会非常感谢!

1 必要的准备

我的笔记本型号是 Apple的 M2 Max 32G,Windows 和 Linux 的步骤在大体上也是类似的,我会在每一个步骤都链接出所涉技术的官方文档,方便各位同学自行查阅和深入学习。

1.1 下载Chinese-LLaMA-Alpaca-2大语言模型

因为模型比较大,建议先启动下载,再进行后续的步骤。

Chinese-LLaMA-Alpaca-2(中文羊驼)是基于Meta发布的可商用大模型LLaMA2微调的中文大模型,LLaMA2只支持英文,而中文羊驼支持中英文。

本文以Chinese-LLaMA-Alpaca-2-13b大模型为例,如果你的内存或者显存比较小,建议使用7B的,效果应该不会相差太多,官方的下载地址

HuggingFace为例,将Files and versions里面的所有文件都下载,并放置于同一个文件夹下面,命名为chinese-alpaca-2-13b即可(可随意更改)。

1.2 使用 Docker Compose 本地部署Milvus向量数据库

了解机器学习或深度学习的同学应该都知道,无论是NLP还是CV,模型的输入和输出基本上都是N维向量。在实现文档问答(即ChatPDF)的技术中,其中关键的一步就是把用户所提出问题的向量表示,与向量数据库中文档块的向量表示进行相似度计算。因为涉及到搜索对比的问题,所以我们需要用到向量数据库来加快这个过程。如果你现在听不懂那也没有关系,先跟着做就行,后面我会再详细讲解,其实ChatPDF实现的逻辑很简单。

Github上的开源向量数据库(Vector Database)应该挺多的,也有一些提供免费云服务的向量数据库,如Pinecone。但是我们要实现的是一个完全离线版本的C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值