GraphRAG — 图谱RAG
GraphRAG 是 检索增强生成 (Retrieval-Augmented Generation, RAG) 的一种高级范式,它不使用传统的基于离散文本片段(块)的检索,而是利用知识图谱 (Knowledge Graph, KG)[1]。图结构明确表示实体之间的关系和领域概念的层次结构,这使得 LLM 能够执行多步逻辑知识检索,并生成更具上下文感知能力和可解释性的答案[2]。
在处理复杂的多跳 (multi-hop) 查询时,GraphRAG 方法相比传统 RAG 显示出显著优势,因为这类查询的答案依赖于分散在不同文档中的多个事实的组合[3]。
传统RAG的局限性与图的优势
基于非结构化文本向量检索的传统 RAG 面临一系列根本性限制,这些限制在复杂的企业场景中变得至关重要:
- 缺乏结构化连接: 传统 RAG 将文本块视为孤立的单元,无法识别它们之间的显式联系。这使其在处理多跳 (multi-hop) 查询时效率低下,因为这类查询需要沿着事实链(A→B→C)进行推理,而检索可能只找到起点和终点(A 和 C),却忽略了中间环节[1]。
- 语义模糊性: 在高度专业化的领域(如医学、法律、工程),术语具有特定的含义。向量检索虽然能捕捉到主题,但可能错误地解释特定对象的角色,导致提取到不相关的上下文。
- 可解释性有限: 传统 RAG 提供文档片段,但没有明确证据说明这些片段如何构成逻辑链。相比之下,GraphRAG 通过提供图中的路径作为证据,并要求将陈述与来源(引用)挂钩,使这一过程变得透明[4]。
GraphRAG 通过将知识表示为相互关联的实体和关系网络来解决这些问题,使系统不仅能找到相似的文本,还能基于形式化的领域模型进行逻辑推理。
GraphRAG 架构
GraphRAG 的通用流程扩展了传统 RAG,增加了构建和使用知识图谱的步骤。它分为两个主要阶段:离线准备和在线查询处理。
阶段 1:数据摄取与索引(离线)
在此阶段,原始数据(文档、数据库)被转换为两种互补的表示形式:图表示和向量表示。
- 知识提取: 使用 NLP 流水线从文本中提取结构化事实:
- 命名实体识别 (Named Entity Recognition, NER): 识别实体提及(人物、组织、产品)。
- 实体链接 (Entity Linking, EL): 将提及链接到图中的规范化标识符,以消除歧义(例如,“张三”和“张先生”成为同一个节点)[5]。
- 关系提取 (Relation Extraction, RE): 识别实体之间的关系(例如,公司 X -收购→ 初创公司 Y)。
- 图建模与存储: 将提取的三元组(主语-谓语-宾语)加载到图数据库中。模型选择(属性图 (Property Graph) 或 RDF)取决于具体任务。至关重要的是存储每个事实的来源 (provenance)——即指向原始文档和文本片段的链接[3]。图中还可以添加关于时间 (valid_from/valid_to) 和置信度 (confidence) 的元数据。
- 混合索引: 在构建图的同时,为原始文本片段创建向量索引。这使得结构化的图搜索能够与文本的语义搜索相结合。
阶段 2:查询处理与答案生成(在线)
- 查询解析: 分析用户查询,提取关键实体,作为进入图的“入口点”。
- 子图提取: GraphRAG 不是搜索单个文本块,而是找到一个相关的子图——围绕“入口点”的图的连接部分,其中包含回答问题所需的信息。为此,使用 k-跳遍历 或 Personalized PageRank (PPR) 等算法[6]。
- 混合检索与结果合并: 在提取子图的同时,对向量索引和/或词法索引(如 BM25)进行检索。来自图和文本的结果被合并并传递到下一阶段。
- 重排序 (Re-ranking): 使用更精确的模型(例如,交叉编码器)对合并后的候选列表(图节点和文本块)进行重排序,以选择最相关的信息。这有助于过滤噪声并提高准确性[7]。
- 上下文打包与生成: 将筛选和排序后的上下文(子图和文本)转换为 LLM 可理解的格式(例如,带来源的断言列表)。这个丰富的上下文被输入到提示中,用于生成最终答案。
- 追溯与引用: 由于图中“事实 ↔ 来源”的关联,生成的答案包含指向支持每个论点的文档的精确引用,从而确保了高度的依据性和透明度。
组件对比表
| 组件/方面 | 实现方案 | 优点 | 缺点/风险 | 适用场景 |
|---|---|---|---|---|
| 知识图谱模型 | RDF/OWL | 严格的本体论,支持逻辑推理 (reasoning),与链接开放数据 (Linked Open Data) 兼容。 | 如果不使用额外的实体化 (reification) 技术,难以存储关系的属性(如时间、来源)。 | 具有现有本体论的语义丰富的领域;需要演绎推理。 |
| 属性图 (Property Graph) (Neo4j 等) | 灵活性高,节点/边上可有任意属性,性能优越。 | 需要手动定义清晰的模式,否则有“混乱”的风险;缺乏统一标准。 | 快速启动非结构化数据项目;与文档集成(多模数据库)。 | |
| 子图提取 | k-跳 BFS / DFS | 覆盖深度 k 以内的所有节点,实现简单。 | “图爆炸”:节点数量雪崩式增长;可能返回大量噪声。 | 小型图或 1-2 跳的遍历;层次结构。 |
| Personalized PageRank (PPR) | 专注于真正相关的节点,能有效过滤噪声[6]。 | 可能错过一个虽远但很重要的节点(如果路径少但该节点至关重要)。 | 具有多条路径的复杂网络(如社交图、引文图)。 | |
| 混合检索 | 组合列表 (带权重 λ 的标量融合) | 调整权重 λ 可根据任务平衡精确率/召回率 (precision/recall)[8]。 | 固定的 λ 对所有类型的查询并非最优。 | 原型设计阶段;或当已知某一来源明显更重要时。 |
| 交叉编码器重排序 (Cross-encoder rerank) | 显著提升准确性;能够考虑复杂的相互关系。 | 增加延迟;需要训练数据或使用预训练模型[7]。 | 高精度场景(如法律、医学),其中上下文的最大相关性至关重要。 | |
| 数据安全 | 子图过滤 (RBAC/ABAC) | 细粒度控制(到节点级别)可防止数据泄露。 | “盲区”:如果一个重要节点被过滤掉,答案可能变得不完整。 | 具有严格访问要求的企业环境(PII、GDPR、商业机密)。 |
可追溯性、信任与安全
GraphRAG 的主要优势之一是能够提供透明的证据链。系统不再是“黑箱”作答,而是可以展示推理路径:“事实 A 在 [文档1] 中提到。它与 [文档2] 中的事实 B 相关,而根据 [文档3],B 导致了 C。”——这增强了用户的信任并简化了调试过程。
此外,图结构允许实现细粒度的访问控制(RBAC/ABAC)。图中的每个节点或边都可以有关联的访问标签。在提取子图时,系统会自动过滤掉用户无权访问的数据,从而确保在敏感领域(金融、人力资源、医疗)的安全性。
质量评估
GraphRAG 系统的评估是一个多阶段过程,涉及每个组件的指标:
- 知识提取指标: 用于 NER 和 RE 的 F1 分数,以评估图的构建质量。
- 子图提取指标: Subgraph Recall@K(正确答案所需的节点/边被包含在提取子图中的比例)和用于多跳问题的 Path Precision/Recall。
- LLM 响应指标:
- 忠实度 / 证据支持度 (Faithfulness / Groundedness): 答案在多大程度上严格依赖于所提供的上下文。
- 人工评估 (Human evaluation): 专家根据正确性、完整性和连贯性等标准进行评估。
为了实现自动化评估,可以使用专门的基准测试(如 WebQuestionsSP, GrailQA)和框架(如 RAGAS)[9]。
参见
- Retrieval-Augmented Generation (RAG)
- 知识图谱
- 向量数据库
- Embedding
- AI 智能体
- LLM 评估与基准测试
参考文献
- Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
- Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
- Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
- Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
- Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
- Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
- Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
- Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
- Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
- Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
- Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
- Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
- He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
- Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.
注释
- ↑ 1.0 1.1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
- ↑ Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
- ↑ 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; 亦见于 Findings of NAACL 2025: ACL Anthology.
- ↑ Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
- ↑ Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
- ↑ 6.0 6.1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
- ↑ 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
- ↑ Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
- ↑ Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; 亦见预印本: arXiv:2309.15217.