拓冰建站拓冰建站
首页 / 资讯中心 / 正文

搭建大模型知识库流程,以及基于langchain实现大模型知识库案例

前言“RAG检索增强生成是为了解决大模型知识不足的问题”大模型主要面临三个问题垂直领域内的知识不足‍‍‍‍‍大模型知识有时间限制‍大模型幻觉问题第一个问题产生的原因是因为没有经过垂直领域数据训练的大模型普遍表现不好其次是目前的大模型采用的是预训练模式也就是说需要先收集训练数据进行训练但只能收集之前的数据不能收集当前和以后的数据最后就是大模型幻觉问题幻觉问题产生的原因就是知识不足导致在一些领域问题中一本正经的胡说八道。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍因此说到底大模型产生以上三个问题的主要原因就是知识不足因此RAG——检索增强生成技术就出现了。‍‍‍‍‍‍‍‍‍‍‍RAG技术配合知识库技术就能够补充大模型知识不足的问题知识库的作用就相当于给大模型配置一个资料室遇到不懂的就去资料室里查。今天我们就来讨论一下本地知识库的实现步骤以及代码。‍‍‍‍‍‍‍‍‍‍‍知识库的实现步骤及代码‍‍‍‍‍‍‍‍‍严格来说解决大模型知识不足问题的技术是RAG——检索增强生成而不是知识库技术。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍知识库技术在大模型之前就已经出现了简单来说就是公司内部的文档系统里面记录了企业内部的资料文档等形式可以是一个web系统甚至就是一个文件夹。‍‍而我们今天说的大模型知识库是基于RAG技术结合知识库技术产生的一个变种主要区别就是数据格式问题。RAG文档检索生成就是通过把资料向量化并为了提升查询效率需要把向量化的文档存入到向量数据库然后每次在问大模型之前先去向量数据库中查询与问题相关的内容通过提示词的方式一并传入到大模型中这样就可以解决大模型知识不足的问题。之所以要把资料向量化的原因是在传统的查询搜索过程中使用的主要是基于字符匹配的方式进行查询比如说你想查询西红柿炒蛋的做法查询的内容中就必须包含西红柿和炒蛋这几个字。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍而有了大模型技术把资料向量化之后就可以通过语义进行查询大模型会根据语义分析知道西红柿和番茄是一个东西。‍‍‍大模型知识库的原理就是给大模型外挂一个资料库但大模型毕竟不是人需要把资料文档等转化为大模型能够识别的格式就是文档向量化。搭建大模型知识库需要经过以下几个步骤文档加载在当今互联网时代知识的形式多种多样比如文本格式的就是txtwordpdf等还有其它格式如图片结构化数据以及非结构化数据等。‍‍‍‍‍‍‍‍‍‍‍因此打造一个知识库需要支持多种文档以及不同文档的加载路径如本地加载网络加载等而这就是文档加载需要解决的问题。‍文档分割在大模型应用中长文本处理是一个问题并且大模型窗口都有上下文长度限制并且文档还需要处理成大模型能够识别的向量格式因此对一些长文本文档需要进行文本分割解决文档过长而导致的问题。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍文档分割根据不同的任务场景需要进行不同的处理比如文档分割的长度分割形式(比如段落标点符号等)重叠长度等。‍‍‍‍‍词嵌入在传统的知识库系统中文档是以文本图片视频等格式存在的使用者主要是人因此只需要能够通过网络加载文档即可。但在大模型应用中大模型不认识字它能够处理的格式只有向量。而且还需要进行语义分析因此需要通过词嵌入的方式把文档转化为大模型能够处理的且语义连贯的形式也就是向量格式而这个技术就叫做词嵌入。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍词嵌入工具本质上也是一个大模型只不过是专门训练用来完成语义理解和向量转化的模型。‍Sentence-transformer 词嵌入python 库 可以支持多种嵌入模型 或者可以使用第三方提供的转化工具比如openAI通义千问等。文档处理整体流程入下图所示‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍文档存储文档存储的功能就是需要把通过词嵌入转化的大模型能够识别的向量格式存储起来一般使用的是向量数据库。‍‍‍‍当大模型需要使用的时候再通过检索的形式从向量数据库中获取。‍‍‍‍‍‍‍文档存储的作用是为了解决查询效率的问题但也并不是必须的比如说当你知识库的内容很少的时候你也可以选择每次提问的时候重新加载文档并向量化这样之前向量化过的文档就存储在向量数据库中下次使用的时候就可以直接从数据库中查询。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍就类似于在web开发中你也可以把用户数据通过或某种符合间隔起来并保存到txt文件中每次查询的时候需要读取文件并解析数据这样就会非常的麻烦而如果把用户信息存储到数据库中就会方便的多。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍文档检索从向量数据库中通过语义对数据进行检索然后把检索结果带入到大模型中供大模型使用。技术实现是通过数学计算根据向量计算相对位置位置越近语义相关度越高比如欧式距离cos值等。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍RAG的难点和重点是数据的质量和检索质量也就是说本地知识库的好坏和使用的模型(用来回答问题的模型不是词嵌入的模型)没有什么关系只是和你检索的效果有关。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍简单来说就是你的知识库数据质量和向量数据库的质量越好RAG的效果才越好。‍‍‍‍‍‍最后的最后感谢你们的阅读和喜欢我收藏了很多技术干货可以共享给喜欢我文章的朋友们如果你肯花时间沉下心去学习它们一定能帮到你。因为这个行业不同于其他行业知识体系实在是过于庞大知识更新也非常快。作为一个普通人无法全部学完所以我们在提升技术的时候首先需要明确一个目标然后制定好完整的计划同时找到好的学习方法这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门