GraphRAG

什么是RAG?

RAG 是一种自然语言查询方法,用于通过外部知识增强现有的LLM,因此如果问题需要特定知识,问题的答案会更相关。它包括一个检索信息组件,用于从外部源获取附加信息,也称为“基础上下文”,然后将其馈送到 LLM 提示以更准确地回答所需的问题。

这种方法是最便宜和最标准的方法,可以通过额外的知识来增强 LLM 以回答问题。此外,它被证明可以减少 LLM 产生幻觉的倾向,因为这一代人更坚持来自上下文的信息,而这些信息通常是可靠的。由于该方法的这种性质,RAG 成为增强生成模型输出的最流行的方法。

除了问答之外,RAG 还可以用于许多自然语言处理任务,例如从文本中提取信息、推荐、情感分析和摘要等。

但RAG在解决问题的时候,也会有表现非常差的情况:

  • 基本 RAG 很难将关键点联系起来。当回答问题需要通过共享属性遍历不同的信息以提供新的综合见解时,就会发生这种情况。
  • 要求基本 RAG 全面理解大型数据集合甚至单个大型文档的概括语义概念时,基础 RAG 表现不佳。

GraphRAG

7月3日,微软在官网开源了基于图的RAG(检索增强生成)——GraphRAG。

为了增强大模型的搜索、问答、摘要、推理等能力,RAG已经成为GPT-4、Qwen-2、文心一言、讯飞星火、Gemini等国内外知名大模型标配功能。

传统的RAG系统在处理外部数据源时,只是简单地将文档转换为文本,将其分割为片段,然后嵌入到向量空间中,使得相似的语义对应相近的位置。

但这种方法在处理需要全局理解的海量数据查询时存在局限,因为它过度依赖局部文本片段的检索,无法捕捉到整个数据集的全貌

所以,微软在RAG基础之上通过“Graph”图的方式,例如,文本中的实体,人物、地点、概念等,构建了超大的知识图谱,帮助大模型更好地捕捉文本中的复杂联系和交互,来增强其生成、检索等能力。

GraphRAG架构简单介绍

GraphRAG的核心是通过两阶段构建基于图谱的文本索引:首先,从源文档中衍生出实体知识图谱;然后,针对所有紧密相关的实体群组预生成社区摘要。

所以,Graph RAG的第一步就是将源文档分割成较小的文本块,这些文本块随后被输入到大模型中以提取关键信息。

在这个过程中,大模型不仅要识别文本中的实体,还要识别实体之间的关系,包括它们之间的相互作用和联系,用来构建一个庞大的实体知识图谱,其中包含了数据集中所有重要实体和它们之间的关系。

接着,Graph RAG使用社区检测算法来识别图谱中的模块化社区。这些社区由相关的节点组成,它们之间的联系比与图中其他部分的联系更为紧密。通过这种方式,整个图谱被划分为更小、更易于管理的单元,每个单元都代表了数据集中的一个特定主题或概念

在基于图的索引之上,Graph RAG进一步生成社区摘要。这些摘要是对社区内所有实体和关系的总结,它们提供了对数据集中特定部分的高层次理解。

然后要求大模型对每个答案进行打分,分数在0—100之间,得分过低的将被过滤掉,高分则留下。将剩余的中间答案按照得分高低排序,逐步添加至新的上下文窗口中,直至词数限制。

例如,当用户提问“如何进行有效减肥时?”,系统会利用与问题相关的社区摘要来生成部分答案。这些部分答案随后被汇总并精炼,以形成最终答案。

GraphRAG对大模型的好处

与传统RAG相比,Graph RAG的全局检索能力非常强,所以很擅长处理大规模数据集,以下是对大模型的主要帮助。

扩展上下文理解能力:通常大模型受限于其上下文窗口的大小,这限制了它们理解和生成基于长文本的能力。Graph RAG通过构建基于图的索引,将整个文本集合分解成更小、更易于管理的社区模块,从而扩展了模型的理解和生成能力。

增强全局查询:传统的RAG方法在处理全局数据的查询时表现不佳,因为依赖于局部文本片段的检索。GraphRAG通过生成社区摘要,使得模型能够从整个数据集中提取相关信息,生成更加全面和准确的答案。

提高摘要的质量和多样性:Graph RAG方法通过并行生成社区摘要,然后汇总这些摘要来生成最终答案,能帮助大模型从不同的角度和社区中提取信息,从而生成更丰富的摘要。

优化算力、资源利用率:在处理大规模文本数据集时,资源的有效利用至关重要。Graph RAG通过模块化处理,减少了对算力资源的需求。与传统的全文摘要方法相比,GraphRAG在生成高质量摘要的同时,显著降低了对token的需求。

提升信息检索和生成的协同:Graph RAG方法通过结合检索增强和生成任务,实现了两者之间的协同工作,提高了生成内容的准确性和相关性。

增强了对数据集结构的理解:通过构建知识图谱和社区结构,Graph RAG不仅帮助模型理解文本内容,还能理解数据集的内在结构。

提高对复杂问题的处理能力:在处理需要多步骤推理或多文档信息整合的复杂问题时,Graph RAG能够通过检索和摘要不同社区的信息,提升对问题更深层次的理解。尤其是在解读PDF、Word等文档时非常有用。

为了评估Graph RAG的性能,微软在一个100万tokens、超复杂结构的数据集上,包含娱乐、播客、商业、体育、技术、医疗等内容,进行了综合测试。

结果显示,全局检索方法在全面性和多样性测试上,超越了Naive RAG等方法。特别是,Graph RAG方法在播客转录和新闻文章数据集上都显示出了超高的水准,多样性也非常全面,是目前最佳的RAG方法之一。

同时Graph RAG对tokens的需求很低,也就是说可以帮助开发者节省大量成本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值