Graph RAG
Graph RAG用知识图谱做 RAG
Graph RAG 是在标准检索增强生成(RAG)基础上引入知识图谱结构的一类方法:先将语料中的实体与关系显式抽取为图,再通过图遍历与向量检索协同完成知识召回,由大语言模型生成答案。它的核心价值在于支持跨越多个实体、多个文档的「多跳推理」,这正是纯向量检索难以胜任的场景。
概述
标准 RAG 以向量相似度做单跳召回,对「A 与 B 有什么间接关联」「C 的上下游依赖链是什么」之类多层关系问题力不从心;Graph RAG 在预处理阶段把实体与关系显式存储为图,检索时沿图的边做多跳遍历,把子图作为上下文送入 LLM。
- 多跳推理:沿知识图谱的边逐跳扩展,能聚合散落在多份文档中的证据链。
- 结构化召回:以节点(实体)和边(关系)为单位组织上下文,比纯文本片段更易被 LLM 利用。
- 全局汇总能力:微软 GraphRAG 引入社区检测(Community Detection),可对大规模图谱做层次化摘要,回答「整个语料库的主题是什么」等全局性问题——这是标准 RAG 的盲点。
- 可溯源性:每条关系均可追溯到原始来源文档,答案引用路径更清晰。
工作原理
Graph RAG 的完整流程分为三个阶段,每阶段均有对应技术组件。
- 图构建:对原始文档做实体识别(NER)和关系抽取(RE),通常借助 LLM 或专用抽取模型;结果存入图数据库(如 Neo4j)或内存图,节点代表实体,边代表关系类型及来源文档;微软 GraphRAG 在此阶段用 Leiden 算法做社区划分并生成层次化社区摘要(Community Report)。
- 检索:用户问题先经实体链接(Entity Linking)或向量检索确定「种子节点」,再从种子出发做图遍历(广度优先、最短路径或规则化多跳扩展)收集子图;对超大子图做修剪或摘要压缩,控制上下文长度。
- 生成:将子图中的节点、关系与原文片段拼装为结构化提示,交给 LLM 推理;微软实现同时支持本地检索(Local Search,针对特定实体)和全局检索(Global Search,基于社区摘要回答宏观问题)。
- 混合检索:向量召回与图遍历并行运行,结果合并后再重排,兼顾语义相关与关系完整性。
类型与变体
按图的来源和构建方式,Graph RAG 主要分为三种形态。
- 自动抽取图:从语料中用 LLM 或专用模型实时抽取实体关系,灵活但质量依赖抽取模型能力,是当前主流做法(代表:微软 GraphRAG、LlamaIndex PropertyGraphIndex)。
- 依托现有知识图谱:直接接入 Wikidata、企业领域图谱等已有 KG,质量更高但覆盖范围受限,适合垂直领域。
- 向量图混合:将向量索引与图索引并存,检索时两路并行后合并,代表工作包括 HippoRAG(2024,灵感来源于人类记忆的海马体机制)和 LightRAG(双层级检索策略,绕过社区检测开销)。
- 属性图(Property Graph):节点和边均可附加向量表示,LlamaIndex 的 PropertyGraphIndex 是代表实现,兼顾语义检索与关系遍历。
应用场景
Graph RAG 最适合关系复杂、需要跨文档聚合的企业级知识问答场景。
- 企业知识图谱问答:合同审查(跨条款追溯引用)、供应链分析(追踪多级依赖)、组织架构查询等,天然需要多跳关系推理。
- 医疗与生命科学:关联疾病-症状-药物-基因等多类实体,图结构能显式表达复杂医学关系。
- 代码库问答:函数调用图(Call Graph)本身即图结构,Graph RAG 可追踪调用链、依赖关系,回答「哪些模块依赖 X」之类问题。
- 学术文献分析:显式记录论文引用与共现关系,支持「某一研究方向的关键节点论文」等全局性问题。
- 安全与合规审计:追踪权限传递链路、数据流向,图结构可精确建模访问控制关系。
与相邻概念的区别
Graph RAG 常与标准 RAG、KGQA、Agentic RAG 并列讨论,边界需要厘清。
- Graph RAG vs 标准 RAG:标准 RAG 以向量相似度单跳召回,擅长「哪段文字最相关」;Graph RAG 沿图边多跳遍历,擅长「这些实体之间有什么关联」,代价是图构建和维护成本更高。
- Graph RAG vs 知识图谱问答(KGQA):KGQA 依赖精确完整的图谱和规则引擎,容错性差;Graph RAG 容忍抽取噪声,通过 LLM 生成自然语言回答,灵活性更高。
- Graph RAG vs Agentic RAG:Graph RAG 的推理路径由图结构约束,确定性强、可复现;Agentic RAG 由 Agent 自主决定多轮检索策略,灵活但更难调试和审计。
- Graph RAG vs 向量数据库:两者不是竞争关系,多数 Graph RAG 实现以向量库做种子节点初筛,再用图遍历精化,互为补充。
局限与误区
Graph RAG 在工程落地中存在几个关键瓶颈,不宜对其能力过度乐观。
- 图构建成本高:实体识别与关系抽取质量直接决定上限,自动抽取的错误随图规模累积,修正和维护图谱需要持续的人工或半自动流程。
- 推理延迟显著:多轮社区摘要生成与图遍历使预处理和推理时延均高于标准 RAG,端到端延迟通常为朴素 RAG 的 2-3 倍。
- 「有图就能多跳」是误解:实体链接质量差、种子节点选错时,遍历出的子图可能与问题完全无关;图的连通质量比节点数量更重要。
- 对简单问题性价比低:单跳或单文档问题用标准 RAG 更快更便宜,Graph RAG 的额外遍历开销无法带来对等收益。
- 图谱时效性维护:语料更新时需同步更新图结构,增量更新机制不成熟时容易产生图谱与语料不一致的问题。
发展脉络
Graph RAG 的兴起是知识图谱研究与 LLM 应用落地两条线索交汇的产物。
- 2013-2019:知识图谱补全(KGC)与链接预测研究活跃(TransE 2013、RotatE 2019 等),主要面向结构化查询,不涉及开放域生成式问答。
- 2020:Facebook AI Research(Meta AI)提出 RAG 框架(NeurIPS 2020),奠定「检索增强生成」基础范式;同期 KGQA 领域开始探索将图谱与神经网络结合用于问答。
- 2023:LLM 应用爆发,工程社区开始将向量 RAG 的局限(多跳、全局汇总)与图谱结合,相关论文和开源项目迅速涌现。
- 2024 年 4 月:微软研究院在 arXiv 发布 GraphRAG 论文(arXiv:2404.16130),引入社区检测与层次化摘要,在全局性问题上大幅优于朴素 RAG,成为该方向的标志性工作。
- 2024 年 7 月:微软将 GraphRAG 开源发布至 GitHub,迅速获得超过两万颗 Star。
- 2024 年下半年:HippoRAG、LightRAG 等变体发布,LlamaIndex、LangChain 等主流框架相继集成多种 Graph RAG 实现,图谱构建与向量检索的混合方案逐渐走向工程标配。
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「用知识图谱做 RAG」
- 「大模型圈高频词」
- 「跟 Graph RAG 是一回事吗」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 高级概念查看详解 →
GraphRAG 与向量 RAG 有何不同?适合什么场景?
面试里可以说:向量 RAG 像“找相似段落”,GraphRAG 像“先把人、公司、事件关系画成图”,更适合多跳关系和全局总结。
- 中级概念查看详解 →
GNN 在推荐、风控、分子领域有哪些应用?
GNN 适合天然图结构数据:推荐建用户-物品图,风控建关系网络反欺诈,分子建原子-键图做属性预测,知识图谱做推理。
- 中级概念查看详解 →
基于知识图谱的问答(KBQA)如何实现?
KBQA 把问题转成语义解析(生成 SPARQL/逻辑形式)或检索子图,在图上查询推理得答案。
- 中级概念查看详解 →
TensorFlow 中的计算图是什么?
TensorFlow 计算图将运算表示为有向无环图中的节点,边表示张量依赖;1.x 需先建图再用 Session 执行,2.x 默认即时执行但可用 tf.function 编译为图。
延伸阅读
从知识库精选 2 篇文章,帮助深入理解该术语。
