GraphRAG 是什么?它与传统向量 RAG 有什么区别?
简化版
GraphRAG 把文本中的实体、关系、主题组织成图,再结合社区摘要或图遍历检索,擅长跨文档关系、多跳问题、面向整个语料的全局总结。传统向量 RAG 擅长「找语义相近片段」,构建简单、成本低;GraphRAG 建图和维护更贵,不是所有知识库都需要。实际系统常把图检索、向量检索、关键词检索组合,而非三选一。
详细版
传统向量 RAG:「切块 → Embedding → 近邻召回」。GraphRAG 增加结构化过程:
- 从文本抽取实体、关系、声明;
- 合并同一实体,构建带来源的知识图;
- 对图做社区发现/层次聚类;
- 为社区生成摘要;
- 查询时按实体邻域做局部搜索,或聚合社区摘要回答全局问题。
向量 RAG 适合「某条规定是什么」这类局部事实;GraphRAG 适合「整个数据集有哪些主题、如何关联」或需跨多文档连接实体的问题。
完整版教学
一、传统 RAG 的结构盲区
向量检索按文本相似度找 chunk。若关系分散在多份文档,单个 chunk 与完整问题可能都不够相似:
问:"哪些供应商同时关联两个高风险项目?"
需要识别:供应商 ↔ 项目 ↔ 风险 三者的关系,并跨文档聚合
向量检索:每个 chunk 只讲一个供应商或一个项目 → 没有一个 chunk 与整个问题高度相似
调大 Top-k:只带来更多零散片段,不会自动建立"谁关联谁"的清晰关系
这就是向量 RAG 的「结构盲区」——它找得到相似文本,却建不起关系网络。
二、GraphRAG 的索引阶段(贵但有结构)
GraphRAG 用模型或信息抽取工具识别实体、关系、关键声明,保留回到原文的来源(provenance),再做实体消歧、图聚类、社区摘要:
海量文档 → 抽取三元组(实体-关系-实体)→ 消歧合并同名实体 → 构建知识图
→ 社区发现(把关联紧密的实体聚成"社区")→ 为每个社区生成摘要报告
微软的 GraphRAG 路线会对实体图做层次社区划分并为社区生成报告,让系统从不同粒度理解整个语料。代价:这个索引过程比普通 Embedding 建库贵得多,还会引入抽取和摘要误差。
三、局部搜索 vs 全局搜索
GraphRAG 的两种查询模式对应两类问题:
| 模式 | 怎么做 | 适合 |
|---|---|---|
| 局部搜索 | 从问题涉及的实体出发,收集其关系、邻居、相关文本和社区信息 | 实体中心问题(「张三负责哪些项目」) |
| 全局搜索 | 聚合多个社区摘要回答 | 主题性/全局问题(「过去一年投诉的主要模式」) |
全局搜索不是在原始 chunk 里找一句最相似文本,而是聚合多个社区的结构化摘要——这是传统向量 RAG 根本做不到的。
四、知识图谱不保证事实正确
一个关键认知:图结构不等于真理。实体和关系可能抽错、同名实体可能合并错、社区摘要可能遗漏或幻觉。所以:
记忆钩子:每条图边和摘要都要保留到原始文本的 provenance(来源),最终回答能回溯证据。 图中的关系还可能带时间、版本、置信度,不能把所有边当成永久真值。
五、何时值得用(成本-收益)
| 适合 GraphRAG | 不一定适合 |
|---|---|
| 跨文档实体关系、多跳问答 | 简单 FAQ、小规模手册 |
| 调研/情报/案件/科研语料 | 文档更新极频繁、建图成本敏感 |
| 需发现全局主题、群体结构 | 主要是精确条款/关键词查找 |
| 已有高质量知识图谱的企业 | 无法接受抽取和图维护复杂度 |
组合用法:先用关键词/向量定位相关实体和文本,再沿图扩展关系;或用图找候选社区,再回原始 chunk 做向量检索 + Reranker。图负责结构和连接,向量负责模糊语义匹配,互补。
六、常见误区与追问
- 误区:GraphRAG 总比向量 RAG 好。 优势集中在关系性/全局性问题;局部事实检索它可能只是增加复杂度和成本。
- 误区:知识图谱里的关系都是真的。 实体/关系可能抽错、合并错、摘要幻觉,要保留 provenance 可回溯。
- 误区:GraphRAG 就是某个开源库。 它是一类图增强检索思想,不同实现术语和流程不同。
- 误区:调大 Top-k 能替代 GraphRAG。 只带来更多零散片段,建不起跨文档关系。
- 追问:向量 RAG 的结构盲区是什么? 关系分散在多文档时,没有单个 chunk 与完整问题高度相似,建不起关系网络。
- 追问:局部搜索和全局搜索区别? 局部从实体邻域收集信息(实体中心问题),全局聚合社区摘要(主题性问题)。
- 追问:GraphRAG 的主要代价? 索引阶段(抽取+消歧+聚类+摘要)比 Embedding 建库贵得多,且引入抽取/摘要误差。
- 追问:怎么评估 GraphRAG 值不值? 评实体识别/对齐/关系准确性/证据可追溯/多跳覆盖/全局问题质量,和便宜的向量 RAG 基线比;若收益只来自更多 token 或更强生成模型,就不能证明图结构值这个成本。
七、加强记忆
GraphRAG 记「先画关系图和主题地图再查」:从文本抽实体/关系构建知识图 + 社区摘要,用局部搜索(实体邻域)答实体问题、全局搜索(聚合社区摘要)答主题性问题——擅长跨文档关系、多跳、全局总结,补上向量 RAG 的「结构盲区」。核心认知钉死:建图贵且有抽取误差(要保留 provenance 可回溯)、不是所有库都需要(局部事实用向量 RAG 更划算)、常与向量/关键词组合而非三选一、调大 Top-k 替代不了它。图管结构连接、向量管模糊语义,互补。