From Local to Global: A Graph RAG Approach to Query-Focused Summarization
约 1380 字大约 5 分钟
PapersGraphRAG
2026-10-14
摘要
用检索增强生成从外部知识源取出相关信息,可以让大语言模型回答私有语料、或模型此前没见过的文档集合上的问题。常规 RAG 处理不了指向整个文本库的全局问题,例如「这个数据集里的主题是什么」:这本质上是面向查询的摘要,不是一次把相关片段检出来。已有的面向查询摘要方法,又扩不到典型 RAG 系统所索引的文本量。GraphRAG 把两边的长处合在一起,用图来对私有文本库做问答,使方法既能跟上问题有多宽,也能跟上源文本有多大。索引分两步,都由语言模型完成:先从源文档抽出实体知识图,再为每一组紧密相关的实体预先写成社区摘要。提问时,每个社区摘要先各自生成一段部分回答,再把这些部分回答汇总成最终回答。在大约一百万 token 的数据集上,对一类需要把握全局的问题,GraphRAG 生成的答案在全面性和多样性上都明显好于常规 RAG。
总结
GraphRAG 把知识图生成和面向查询的摘要接在一起,用来支持人对整个文本库做意义建构。初步评估里,相对向量 RAG,答案的全面性和多样性都有明显提升;相对另一种同样面向全局、但不建图、直接对源文本做 map-reduce 摘要的做法,也比较占优。同一份数据集上如果要反复做全局查询,实体图索引里根层社区的摘要是一种更好的索引:它优于向量 RAG,并且只用少得多的 token,就能达到和其他全局方法相当的效果。
核心 Insight:自然语言当关系
GraphRAG 的边不是谓词符号,而是一句话。整张知识图从头到尾都不是给符号推理引擎用的,而是给 LLM「读」的——图是一种面向摘要的索引结构,不是面向查询的推理结构。
关系是怎么定义的
§3.1.2 与附录 E.1 的抽取 prompt 输出四元组 (source, target, description, strength)。description 的 prompt 原文是 "explanation as to why you think the source entity and the target entity are related"——要的不是关系类型,而是一段解释性自由文本。
论文自己的例子最能说明问题:源文本里两句分散的话("was acquired by Quantum Systems in 2016" 和 "shares surged in their first week of trading"),被综合成一条关系:
Quantum Systems owned NeoChip from 2016 until NeoChip became publicly traded.
这句话在原文里根本不存在。§3.1.3 自己承认:"The use of an LLM to extract entities, relationships, and claims is a form of abstractive summarization – these are meaningful summaries of concepts that, in the case of relationships and claims, may not be explicitly stated in the text." 所以「抽取」在这里名不副实——实际是每条关系一次微型的抽象式摘要。
为什么这能成立
- 无 schema,关系空间 = 自然语言全集。 不预定义谓词,qualifier、时间区间、条件、因果全由描述本身承载。"from 2016 until publicly traded" 这种带始末时间的关系,塞进任何固定三元组都必丢信息。
- 边的描述是下游的一等公民。 §3.1.5 社区摘要的原料就是「节点描述 + 边描述 + 相关 claim」,按源/目标节点度数之和降序填进上下文窗口。边的自然语言描述不是图的注释,而是图的载荷——这是「图」与「摘要」两种范式能焊在一起的关键:如果边只是符号,社区摘要就没东西可写。
- 冗余变成信号。 同一关系在多个 chunk 里被重复抽到,不去重,重复次数直接聚合成边权重(§3.1.3)。频率即显著性,被反复提及的关系在摘要优先级里自然靠前。
- 容忍脏图。 实体对齐只做精确字符串匹配(§3.1.3),这在传统 KG 里是致命的,但消费者是 LLM 不是推理机:重复/分裂的实体会被社区检测聚到一起,摘要时自然合并。系统不需要图精确,只需要分组合理。
代价
- 描述是生成的,就有幻觉风险:"may not be explicitly stated" 是委婉说法,实际就是允许综合推断,错了没人兜底。
- 做不了精确查询:全是自由文本,没法写 Cypher/SPARQL 式的结构化问题。实验里 Directness 指标 vector RAG 全场赢不是偶然——GraphRAG 换来全面性和多样性,牺牲的就是直接性。它明确只服务 QFS,不是通用知识图。
relationship strength是 LLM 自己打的分,主观且不可复核。- 索引成本高:约 100 万 token 的 Podcast 数据集光建图就耗时 281 分钟。
一句话读法:这篇最值得偷的不是「用图做 RAG」,而是那个更根本的设计姿态——当消费者是 LLM 时,一切中间表示都应该用自然语言,符号化反而丢信息。边、节点、claim、社区摘要是一层层嵌套的自然语言摘要,「图」只是给这些摘要提供了可并行的分层分组结构(Leiden 划分 → map-reduce)。
Edge 等,From Local to Global: A Graph RAG Approach to Query-Focused Summarization,arXiv:2404.16130,2024。
版权所有
版权归属:Pray0