2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

你想要的GraphRAG的内容都在这了

发布日期:2024-07-09 08:12:54 浏览次数: 4286
作者:深度学习与NLP

微信搜一搜,关注“深度学习与NLP”

你想要的GraphRAG的内容都在这了

发布时间:2024 年 04 月 24 日

From Local to Global: A Graph RAG Approach to Query-Focused Summarization

摘要:通过检索增强生成(RAG),大型语言模型(LLM)能够从外部知识源检索信息,从而回答涉及私有或未见文档的问题。然而,RAG 在处理全局问题(如“数据集的主要主题是什么?”)时表现不佳,因为这类问题本质上是查询聚焦的摘要任务,而非直接检索。现有的 QFS 方法也难以处理大规模文本。为此,我们提出图 RAG 方法,该方法结合了两种方法的优势,能够随着问题普遍性和文本量的增加而扩展。图 RAG 通过 LLM 构建图索引,先从文档中提取实体图,再预生成相关实体的摘要。在回答问题时,每个摘要生成部分答案,最终汇总为完整回答。实验表明,图 RAG 在处理大规模数据集的全局问题时,能显著提升答案的全面性和多样性。全球和本地图 RAG 的开源 Python 实现即将发布。

https://arxiv.org//pdf/2404.16130

最近微软终于开源了他的GraphRAG,短短7天就集齐了6.7K Star。那GraphRAG到底是个啥???

GraphRAG的论文实际上要比代码开源早很多,论文应是今年4月份在Arxiv上发表的,但是代码是这个月1号才正式上传开源。

项目开源地址:https://github.com/microsoft/graphrag

项目帮助文档:https://microsoft.github.io/graphrag/posts/get_started/

1. 为什么要提出GraphRAG?

RAG,又称检索增强生成(Retrieval Augumented Generation)。RAG目前已经成为大语言模型应用的核心组件之一,利用检索到的内容,无论是相似度检索,还是传统搜索、搜索引擎来增强大语言模型的外部知识。凭借这一能力,RAG在帮助LLM处理私有化数据集上发挥了巨大的潜力、取得了不俗的表现,这些私有化数据集对于LLM来说是全新的,比如企业内部文档、商业文件、用户对话记录等。即使如此,传统RAG仍然存在很多问题,比如:

  • • 在处理多信息点时存在困难,比如某个问题的回答需要整合多个文档、多个片段的信息,提供全新的见解时,传统RAG往往在回答的全面性方面存在不足。

2.  什么是GraphRAG

如上图所示,GraphRAG包括两个处理阶段,分别是:索引阶段和查询阶段。索引阶段利用LLM来自动化构建知识图谱,提取出对应的节点(如实体)、边(如关系)和协变量(如主张,claim),然后利用社区发现技术(如Leiden算法)对整个知识图谱进行子图划分,然后自底而上对子图利用LLM进行摘要、总结。针对特定查询,“全局答案(Global Search)”汇总所有与之相关的社区摘要最后汇总生成答案。

2.1 源文档生成文本片段

与传统RAG一样,GraphRAG也需要将源文档转化为文本片段(TextUnits),这个片段既会被用于图谱抽取,也会作为知识的引用源,以便追溯回最初的原始文本内容。

在最新开源的GraphRAG代码里,文本切分大小(以Token数计算)是可以根据用户需求调整的。默认是300个Token,尽管,作者发现1200个token大小的文本单元能取得更好效果。但是,越大的文本块大小会导致输出精度降低、召回率降低、并且降低参考文本的可读性;不过文本块尺寸越大,可以减少LLM调用次数,整个处理过程速度可以更快。

下图展示了,在相同的提取循环次数下,提取的实体数会随着文档片段的大小增加。

文本单元的分组设置同样可以根据用户需求定制。默认GraphRAG会按照文档边界来对齐单元,确保文档与文本单元之间保持严格的一对一关联。在少数情况下(特别是非常短的文档),比如推文、聊天记录这些情况下,会组合多个文档构成一个有意义的分析单元。

2.2 知识图谱构建

接下来的步骤就是对于每一段文本片段,利用LLM从中提取实体、关系、主张(Claim)。下图是GraphRAG里面用于知识图谱构建的提示词。

因为篇幅原因,这里不展示全部提示词,大家可以自行参考链接:

./prompt_tune/template/entity_extraction.py

2.3 元素实例转化为元素摘要

通过LLM对文档中的实体、关系、主张进行提取,本质上是对文档的一种抽象式摘要。同名同类型的实体将通过整合它们的描述形成统一的数组;同样的,相同起点和终点的关系也将通过整合描述后进行合并。

图谱抽取的最后一步是对代表同一现实世界实体但名称不同的实体进行辨识。由于此过程通过LLM执行,希望在不丢失信息的前提下,采取一种审慎且非破坏性的方法。

不过,目前的实体辨识实现是具有破坏性的。将一系列实体提供给LLM,并要求其判断哪些实体应该合并。然后,这些实体将被合并为单一实体,并且它们的关系也会相应更新。

GraphRAG正在积极探索其他实体辨识技术。在不久的将来,实体辨识将通过在不同实体变体间建立一条边来执行,表明这些实体已经被索引引擎辨识。这将使用户能够撤销索引端的辨识,并采用类似过程添加自己的非破坏性辨识。

2.4 元素概要至图谱社群

上一步骤所构建的索引可以视作一个均匀无向加权图,实体节点通过关系边相连,边的权重反映了所检测到关系实例的归一化数量。基于此类图,可以应用多种社群发现算法,将图递归划分为多个社群,这些社群内的节点间的联系比与图外其他节点更为紧密。在GraphRAG中,作者选用了Leiden算法,原因在于其能够有效地挖掘大规模图谱的层级社群结构。

该层级结构的每一层都提供了一种划分方式,以互斥且全面覆盖的方式呈现图中所有节点,为全局性摘要的分治策略提供了可能。

2.5 图谱社群至社群概要

接下来利用社群(知识图谱子图)数据,利用LLM为每个社群总结为一个摘要式报告。这有助于在图谱的不同细节层次上获得宏观的理解。比如,若社区A属于最顶层,将获得整个图谱的综合报告;若社区属于较低层次,则报告将聚焦于一个特定的局部群体。

可以通过提示词里的示例,看一下这个知识图谱报告长什么样子:

通过LLM对社区报告进行浓缩、精简,然后将这些报告内容通过embedding模型进行向量化,这里与传统的RAG类似。

所以小编认为,在整个GraphRAG里面,知识图谱提取和这一步图谱子图摘要式总结是最为重要和特殊的。

2.6 社群概要至社群解答,再到全局解答

针对用户的提问,社群的层接结构特性意味着可以利用不同层级的社群摘要来回答问题。在特定的社群中,用户的提问全局答复按以下过程生成:

  • • 准备社群概要。将社群概要随机混洗,并划分为预设的令牌大小的区块。这样做确保了相关信息均匀分布,而不是聚集(可能遗失)在单一的上下文窗口中。

  • • 映射社群解答。并行生成每个区块的中间答案。同时要求LLM为生成的答案打分,分数范围从0到100,以指示答案对目标问题的帮助程度。得分为0的答案将被排除。

  • • 汇总为全局答案。根据有用性得分,将中间社群答案降序排列,并逐步整合进新的上下文窗口,直至达到令牌限制。这一最终上下文将用于生成并返回给用户的全局答案。

3. 对比分析

作者对比了六种配置的RAG,包括利用四层图社群结构的GraphRAG(C0、C1、C2、C3),以及将Map-Reduce应用于原始文本的文本摘要方法(TS)、语义搜索RAG(SS)。

C0:利用根层级的社群概要来响应用户查询,数量最为稀少。

C1:利用高级别社群概要解答问题,这些是C0的子社群,如果存在的话;否则是C0社群的下投影。

C2:利用中层级社群概要来解答问题,这些是C1的子社群,如果存在的话;否则是C1社群的下投影。

C3:利用底层社群概要来解答问题,数量最多,这些是C2的子社群,如果存在的话;否则是C2社群的下投影。

TS:与GraphRAG方法相似,只是将原始文本(而非社群概要)随机分配并分块,用于map-reduce摘要阶段。

SS:一种朴素RAG的实现,检索文本块并添加至上下文窗口,直至达到设定的令牌限制。

3.1 全局方法相较于朴素RAG

如上图,四种度量标准下每组125个问题(每组问题均重复五次并取平均值)的胜率对比图。每一行代表的条件与每一列的条件相比较,胜者以粗体字标出。自我胜率未作计算,以预期的50%作为参考线。

在全面性和多样性上,GraphRAG的所有条件均超越了朴素RAG。特别是条件C1至C3,在答案的全面性和多样性方面相较于TS(不依赖图索引的全局文本摘要)显示出了小幅提升。

全局方法在全面性和多样性两个指标上,无论是播客还是新闻数据集,均持续超越了朴素RAG(SS)方法。具体来说,全局方法在播客文稿的全面性胜率介于72%到83%之间,在新闻文章上的胜率则在72%到80%之间,多样性胜率分别为75%到82%和62%到71%。此外,我们以直接性作为有效性的检验,结果符合预期,即朴素RAG在所有对比中提供了最直接的回答。

3.2 社群摘要与原始文本的对比

对比社区概要和原始文本,社区概要在提升答案的全面性和多样性方面,普遍带来了虽小但稳定的改进,根级概要不在此列。

  • • 在播客数据集中,中级社区概要的全面性胜率为57%

  • • 新闻数据集中,低级社区概要的全面性胜率为64%

多样性方面:

  • • 播客中级社区概要的胜率为57%,新闻低级社区概要则为60%。

上表展示了GraphRAG相较于原始文本摘要在可扩展性上的优势:针对低级社区概要(C3),GraphRAG所需的上下文Token数减少了26-33%;而针对根级社区概要(C0),令牌需求量更是减少了97%以上。

与其它全局方法相比,尽管性能略有降低,根级GraphRAG依然是进行迭代问答的高效方法,这种问答是感知活动的特点,同时在全面性(胜率72%)和多样性(胜率62%)上仍超越了朴素RAG。

3.3 回答效果展示

上图第二、三行分别展示了GraphRAG和朴素RAG回答的效果对比,第四行展示了使用LLM对这两个回答做出的评估结果(四个评估维度)。      


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅