图(Graph)能够编码大量的异构和关系信息,非常契合众多现实世界应用。将 Graph 与 RAG(检索增强生成)结合获得了越来越多的关注。2025 年初,由 Michigan State University(MSU)与 Meta、Amazon、Adobe 等机构联合发布了 GraphRAG 最新技术综述,系统梳理了该领域的架构与进展。
与传统的 RAG 不同,GraphRAG 的检索器和生成器设计具有特殊性。图结构数据的独特性为不同领域的 GraphRAG 设计带来了独特的挑战,因此需要一个全面的综述来指导实践。
RAG 与 GraphRAG 之间的区别
RAG 主要处理文本和图像数据,这些数据通常可以统一格式化为 1D 序列或 2D 网格,往往不包含显式的关系信息。相比之下,GraphRAG 处理图结构数据,涵盖了多种格式并包含特定领域的关系信息,能够更精准地捕捉实体间的关联。

通过定义 GraphRAG 的关键组件,包括查询处理器、检索器、组织者、生成器和数据源,研究提出了一个完整的 GraphRAG 框架。此外,还回顾了针对每个领域(Knowledge、Document、Social、Tabular、Reasoning 等)独特定制的 GraphRAG 技术。
全面的 GraphRAG 框架
提出的全面 GraphRAG 框架旨在通过检索和生成技术来增强下游任务的执行。这个框架的核心在于利用图结构数据的特性,以提高信息检索、数据挖掘和机器学习任务的性能。
GraphRAG 框架的关键组件
1. 查询处理器 (Query Processor)
在 GraphRAG 框架中,Query Processor 是一个关键组件,它负责对用户输入的查询进行预处理,以便与图数据源进行交互。
主要功能:
- 实体识别 (Entity Recognition):从查询中识别出实体,并将其与图数据源中的节点相匹配。技术包括基于规则的方法、无监督学习方法、基于特征的监督学习方法和深度学习方法。例如 EntityLinker 和基于 LLM 的提取,能够识别查询中的实体类型,进一步指导检索器识别匹配类型的节点。
- 关系抽取 (Relational Extraction):从查询中识别关系,并将其与图数据源中的边相匹配。技术包括文本表示、上下文编码和三元组预测。在 GraphRAG 中的应用主要用于构建图数据源和匹配查询中的关系,以指导图搜索。
- 查询结构调整 (Query Structuration):将自然语言查询转换为结构化查询,如 GQL(Graph Query Language)。利用预训练和微调的 LLM 生成结构化查询。示例包括 Cypher、GraphQL 和 SPARQL 等工具,用于与属性图数据库进行复杂交互。
- 查询分解 (Query Decomposition):将复杂的查询分解为多个子查询,以便进行多步推理。构建问题图,其中每个子查询表示为图中的三元组。Park 等人通过构建问题图来增强查询分解,提高多步推理和规划任务的性能。
- 查询扩展 (Query Expansion):通过添加相关术语来丰富查询,以提高检索的准确性和相关性。包括基于 LLM 的查询扩展,利用图中提到的实体的邻居节点来扩展查询。Xia 等人通过利用图中提到的实体的邻居节点来扩展查询,Wang 等人通过预定义模板将查询转换为多个子查询。

2. 检索器 (Retriever)
在 GraphRAG 框架中,检索器是负责从图数据源中检索相关信息的关键组件。
主要功能:
- 检索内容:根据预处理后的查询从图数据源中检索相关内容。
- :能够处理图结构数据的多样性和复杂性,包括不同格式和来源的信息。



