小白学大模型RAG:十大步骤分析GraphRAG的工作原理

对于普通的RAG,也就是前面课程讲的RAG,它的原理是通过将文本进行切分和向量化,通过计算文本之间的向量相似度,从而得到两个文本之间的语义相似度,从知识库中找出跟问题语义相似的知识点,再送给LLM得出最终答案。

在这里插入图片描述

对于一般的问答类型知识库,普通RAG基本够用了,但是知识库类型如果更复杂一点,比如新闻报道、小说等文章类型,普通RAG就难以应付了,比如想针对《三国演义》做一个知识库,让用户能够搜索《三国演义》中的相关内容,比如“吴国有哪些大都督?”,那么普通RAG就比较难做了。

GraphRAG提出了一种新的RAG的方式,可以用来解决这种非结构化知识库的场景,它的做法如下。

第一步,先对文档进行切分,切分成多个TextUnit,也就是文本单元,默认一个文本单元最大长度为300个tokens,这里的token就是LLM中的token(一个字或一个词),可以通过配置进行修改,这一步没有其他目的,就是将长文档切短。

第二步,针对每个文本单元,利用LLM抽取出其中的实体信息,叫做Entity,所谓实体就是一个组织,或一个人,或一个地理位置等,你想让LLM从文本中抽取哪些类型的实体是可以配置的,实体信息包含实体名字、实体类型、实体描述,也就是Entity中有三个属性name、type、description,比如从文本单元中抽取出一个实体,类型为人,名字叫周瑜,描述为“三国时期的著名人物”。

不过需要注意,对于不同的文本单元,可能抽取的实体名字和实体类型相同,但实体描述不同,比如从文本单元A抽取了周瑜这个实体,但是得到描述信息是“周瑜长得非常帅”,但是从文本单元B中也抽取了周瑜这个实体,但是得到的描述信息是“周瑜技术非常厉害”,此时会把这两个描述信息都放在周瑜这个Entity的description属性中,description属性为一个list。

第三步,针对每个文本单元,利用LLM抽取其中实体之间的关系信息,一个文本单元可能包含多个实体,那么这一步就是抽取出这些实体之间的关系,比如文本单元中包含了一个人物和一个组织,比如周瑜和吴国,那么“周瑜属于吴国”,就是这两个实体之间的关系,关系信息叫做Relationship,包括两个实体的名字以及关系的描述信息,Relationship的三个属性为source、target、description。

同样,对于不同的文本单元,可能抽取出相同的两个实体,但是他们之间的关系不一样,比如文本单元A中发现“周瑜和孙策是兄弟关系”,但是文本单元B中发现“周瑜和孙策是君臣关系”,因此Relationship中的description属性也是一个list,用来存放一个关系信息的多种描述。

第四步,总结实体信息和关系信息,由于Entity和Relationship中的description属性都是一个list,都有可能对应多种描述,因此这一步所做的,就是通过LLM将多种描述信息进行总结,总结为一句话,比如将“周瑜和孙策是兄弟关系”和“周瑜和孙策是君臣关系”总结为"周瑜和孙策是亲如兄弟的君臣关系",这样做的目的是为了方便查询,因为查询时需要根据问题匹配知识库中的实体信息和关系信息时,只需要根据总结后的实体描述和关系描述就可以进行匹配了,不然得遍历list进行匹配。

第五步,这一步默认是没有开启的,这一步解决的问题是,对于抽取出来的实体,可能实体名字不同,但其实对应的是同一个实体,比如一个叫周瑜,一个叫公瑾,名字不同,但是对应的是同一个人,因此这一步就是发现并统一实体名字,比如统一都叫做周瑜,一旦出现了这种情况,也就是原本实体名字叫公瑾,现在要改为周瑜,就需要更新前面步骤的信息,包括关系信息,代价还是比较大的,所以默认是不开启的。

第六步,针对每个文本单元,利用LLM抽取其中发生的事件,比如赤壁之战,就是一次事件,我们把事件叫做Claim,一个事件信息包括事件的发起者、事件的报告者(不一定有,比如新闻事件就有报告者)、事件类型(LLM自己提炼)、事件状态(TRUE表示事件已经得到证实,FALSE表示事件是假的,SUSPECTED表示不确定)、事件的开始日期、事件的结束日期、事件的描述(比如事件发生的原因)、事件来源。

第七步,社群检查,通过前面的步骤,可以从所有文本单元中抽取出所有的实体信息、关系信息、事件信息,社群检查就是利用这些信息将实体进行分类,比如周瑜和孙策属于吴国,曹操和司马懿属于魏国,刘备和关羽属于蜀国,而吴国、魏国、蜀国都属于东汉,其中东汉是一个大社群,魏蜀吴是三个小社群,当执行查询时,可以指定社区的级别,如果指定的是低级别社群,那么查找的结果就比较微观,比如问三国时期有哪些著名人物,如果指定的社群为吴国,那么匹配的就只有周瑜和孙策,如果指定的社群为东汉,那么就能找到更多的著名人物。

第八步,生成社群报告,社群叫做Community,社群报告叫做Community Report,社群报告相当于就是在描述社群的构成,一个社群报告包含了社群中的实体信息、关系信息、事件信息,最重要的是还包含了一份对于该社群的描述description信息,这个描述也是通过LLM生成的,后续根据问题匹配社群时,就需要用到社群描述信息。

第九步,向量化,不管是实体还是关系,还是社群,都有描述信息,这一步就是对各个描述信息进行向量化,比如Entity中除开有description属性,还有description_embedding属性,进行向量化的目的也是为了查询,能够更容易的根据问题找到语义相似的实体、关系、社群。

第十步,原始文本向量化,相当于做一次普通RAG的知识库创建动作,将文本单元直接进行向量化。

以上就是GraphRAG进行知识库创建(GraphRAG中叫做Indexing)的十大步骤,这十大步骤是我自己总结的,和官网教程并不完全相同,但大致相同,这样应该更容易理解,通过以上步骤能够将一些非结构化的知识转变为结构化的知识,知识图谱就是所谓的结构化知识,比如新闻报告、小说等非结构化知识,通过抽取实体、关系、事件、社群得信息从而得到知识图谱,而知识图谱就描述各个实体之间的关系,使得在查询时,能通过问题搜索到更加全面、存在关系的知识点,而不只是单纯的语义相似的知识点。

以上就是GraphRAG创建知识库的大致过程,接下来,我们来看看GraphRAG的查询过程,GraphRAG中查询分两种:Local Search和Global Search。

首先,GraphRAG也是一种RAG,在查询时也是根据问题从知识库出检索出知识点,然后把找到的知识点添加到提示词模版中输入给LLM得到答案,GraphRAG和普通RAG的区别除开知识库创建的方式不同,知识库查询的方式也不同。

所谓Local Search就是根据问题利用向量搜索,找出跟问题匹配的实体信息、关系信息、事件信息、社群信息、原始文本信息,然后分别取匹配度最高的前几条,作为检索结果输入给LLM,其中原始文本信息就相当于进行了一次普通RAG从知识库查询得到的结果,而其他信息就是GraphRAG额外查询出来的,也就相当于GraphRAG从知识库中找到了跟问题有关的更多信息,从而提高问题回答的质量,这种方式的核心仍然是向量相似度,是从左往右依次匹配知识点的过程,适合回答有特点实体的问题,比如“周瑜的老婆是谁?”。

所谓Global Search就是利用LLM来决定要回答该问题应该用哪几个社群的信息,这个过程涉及到map-reduce的思想,先让LLM分析每个社群对于解决该问题的重要程度,具体做法是利用每个社群的社群报告描述信息和当前问题组合成提示词,让LLM来分析这个社群和问题的匹配程度,这是map的过程,然后选择匹配度较高的几个社群以及社群中的实体信息、关系信息、事件信息,再让LLM根据这些信息回答问题,这是reduce的过程。总而言之,Global Search是先找社群,再得到社群里的知识点,是从上往下匹配知识点的过程,适合回答总结性的问题,比如“三国里有哪些著名人物?”。

在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值