24.LangChain-RAG+LangChain实现 

AI作画软件中文版 2025-07-25 11:43:59

好,我们继续来看一下。我们接下来看一下这个向量存储。咱们前面在介绍那个IAG的时候,我们也介绍了这个向量存储这一块,对吧?那现在我们在这里面我们来看一下,这个向量存储应该要怎么去实现它。
 
首先我们在这块给大家用到这样一个什么这样一个像存储的这样一个组件,我们去存储的。咱们前面是用的那个可能GB对吧?那么咱们在这个案例里面我们稍微的去画一下,同样的大家需要安装一下这两个模块。如果说之前同样的按照我们给大家的那个模板,统一去安装的话,那么这块咱们是已经安装的有对吧?那么大家在装的时候,对那版本尽量保持一致,那么就OK了,这一块是依赖。然后的话我们可以把这个代码我们给大家拉过来,我们给大家来介绍一下。这基本应用三搞错了,应该是。基本应用四好,咱们把这个代码拿过来,我们来给大家来解释一下。
 
好,上面这些导一的基本上是一样了。我们这儿找了一个叫做web base load这样的一个什么这样一个组件。然后这个组件,它主要是帮助我们去实现网页上面去做爬虫,去做爬虫这样一个什么这样一个需求。我们这一块,因为我们要把这个知识库里面信息要存储到我们这个三个数据库里面去,对吧?这块的话,我们,肯定需要我们对应的一个知识库信息。所以,知识库内容,我们就通过这个页面,我们把它爬下来,我们来看一下。
 
好,那这个是一个是一个政府网站,对吧,里面提供了这个民法典的相关的一些内容。上面的是对应的目录,然后下面是每个目录下面的一些细则,对吧?因为这个网站也没有做防爬虫,内容也比较简单,我们就可以把它给扒下来。
 
那么爬下来之后,我们这边可以按一下F12。我们这边可以去看一下它的那个页面的元素,我们也可以去找一下,找到之后,因为我们其实要爬的是什么?是下面的这些目录中的这些内容。咱们这边可以定位一下。
 
在这里我们去找的时候,其实可以看下代码。在代码里面通过这个组件,然后我们去盘的时候,里面传过去了有一个ID对吧?这个ID有一个什么有cup杠content,然后这个ID在哪呢?其实就在我们要爬的这个页面上面,其实我们可以去搜索一下。搜索一下。
 
然后我们搜索了之后,大家可以看到,你看我们点击一下对应的文本内容,其实其实就是这一块。然后这一个DIV,DIV有个ID?ID内容,这个DIV里面所包裹的其实就是整个网页中的相关的这个内容?然后这个内容里面,它有固定的一个格式,像PPIJ,然后里面然后里面有相关的这个文本信息。我们所找的这个组件,它其实这个web base loader,它其实就非常方便去帮我们去爬这些网页相关的内容。我们指定这个ID之后,他要做的事情就是帮我们把这个DIV里面的相关信息都给扒出来。把对应的这个HTMLL中的什么相关的这些标签,那么都把它干嘛都把它给去掉,所以这是一个针对于我们这个网页来说,比较友好的一个工具。Log点log,那么这个干嘛加载我们的知识库的相关的这个内容,这是我们的嵌入的模型。
 
下面这一块这个是导入我们这个像数据库,然后这块是要做文本的切割对吧?对应一个工具在这里面,然后的话定义我们这个文本切割的这个工具,长度是500,它的这个滑动窗口50,定义了相关一些规则,然后这边这个split杠documents,对于这个文档做相关的一个切割。然后这块,就是什么输出我们文档的一个长度,把我们相关的的文档,然后我们这个,嵌入器,添加到我们对什么对应的这个数据库,下到数据库里面去。所以这一块,就是将我们的这个其实也就是像我们所讲的这个IG里面,那个文档加载分割,通过向量器做向量的一个处理,那么把这个流程,我们把它处理了一下,其实这块我们可以执行看看效果对吧,执行看下效果。因为这个所讲内容,其实就跟我们前面所讲RAD那块是不是就关联起来了,28,然后28的话,这个就结束了,对吧?
 
结束当然这块你可以干嘛,可以把这个文档把它打印出来对吧?然后呢,可以去看一下它有没有爬到,对吧?然后这个东西比较多。这些就什么就是爬取出来的对应的这些内容信息,对吧?好,这个例子是我们所讲的将通过这个浪漫,咱们把爬取内容,把它扔到这么扔到我们这个向量库里面去。这个完了之后,我们就其实可以结合我们前面所讲的RAG?大模型这一块,把它串起来。
 
创建之后我们看看怎么去做,创建的话,我们继续往下面去看,就是我们讲的这个IG加上券利用拉线这块,其实我们的数据就已经扔到了这个数据库里面去了,对吧?然后的话接下来我们就要做满做这种像素度的一个匹配,对吧?去做对应的一个大模型,然后结合结合匹配信息以及我们输入内容,然后做模型的一个输出对吧?好,那么最后的话我们来看一下应该怎么去做对了,我们把完整的代码给大家拉过来,然后在这儿的话我们去创建一个。创建基本应用五好。
 
之后我们来介绍一下,其实这个代码就很简单。上面这一块基本上我基本上完全是一样的,到哪了?到这块把它输掉,这上面是不是就完全是一样的,对吧?就是我们上面那个按钮那个代码。然后接下来就是我们要去接受用户的这个输入?把它做把这个嵌入模型的这样一个向量化,做对应的一个相似度的一个匹配?所以接下来我们这边导入相关的这些依赖。
 
下面这个什么是我们这个模板?这个提示时的一个模板,里面有一个contest,然后有一个input,这个是我们自定义的一个模板?打开这个下头分AI,获取我们这个链接,这边是doc document杠券。然后这块就是创建一个文档的一个组合链,也就将文档的内容跟用户的问题组合成一组合成为一个什么完整的一个提示,传递给我们这个语言模型去生成相关的一个问答,所以这是这一块的一个操作。
 
再往下面,咱们这个链在这里面,然后就是veteran,就是我们那个上传数据库对吧,然后呢,得到我们对应的这个recover对象。这个其实就是什么,就是我们要去做对那个检索了。检索我们再来给到的是这个F3对吧?Top 3在这里面。好,下面这个方法什么create travel的杠7,那么这个就是我们这个检索的这些,应该什么咱们上面所得到的这个对象。
 
根据我们这个文档链对吧,然后呢,得到对应的一个索引信息,通过这个新信息,就是嘛把它交给我们这个大模型,结合我们上面所给出来的这个用户的这个信息,得到对应的一个匹配的结果,对吧?然后我们再把它干嘛呢?把它输出出来,输出来。所以这块就是将它一个RNG的一个完整的一个流程,咱们把它串联起来了,然后先看看效果行不行,看能不能跑通。所以这个浪现在介绍的时候,跟我们前面讲IG的概念是不是就很相似。然后这块儿该令牌额度已经用尽了,好,没钱了。
 
那我们先让这个程序跑一下,这块我们把这个chat GDP的这个我们把它放开。我们通过那个代理,我们要去设置一下设置一下代理,设置一下代理我们。找一个其他项目里面的,找一个。
 
把这一段,因为我这块的代理的端口跟大家的是有差异的,把我们这个打开。好,然后我们再执行一下。
 
好,OK了对吧?不管怎么样,你看我们这边给到的这个问题是建设用地使用权是什么,然后接下来就将我们上面的那个页面中的匹配信息,把它给拉过来了对吧?拉过来了。首先就保证我们整个的一个什么整个的一个案例,是通的对吧?是通的,当然这里面有一些细节,可能还不太清楚,因为我们后这一块主要什么?主要是做一个入门的一个案例的演示,对吧?做完了之后,我们还需要什么?还需要进一步的细节接着去讲解。好,那么这个案例我们就给大家介绍到这里面。