标准回答
GraphRAG 的机制(独占一行)
GraphRAG 在索引阶段用 LLM 从文档中抽取实体(节点)和关系(边),构建一张知识图谱,并对图中聚成的社区生成层级化摘要。查询时按实体邻接做图遍历,或用社区摘要回答覆盖全库的概览性问题。
与向量 RAG 的区别
向量 RAG 把文档切块、embedding,按语义相似度召回 Top-K 离散片段,再交给 LLM 生成。它擅长「答案集中在某几段」的事实型问题,但片段之间相互孤立,难以跨多文档串联关系,也回答不了「整个语料的主要主题是什么」这类全局问题。GraphRAG 用显式的 知识图谱 结构补上了这种关联与全局视角。
适用场景
需要多跳推理(A 关联 B、B 关联 C)、综合多个实体关系、或对整库做主题归纳/总结的场景,GraphRAG 优势明显。
代价
建图依赖大量 LLM 抽取调用,索引成本和时延高;图质量受抽取准确率影响;语料更新时图谱维护复杂。实践中常与向量 RAG 混合:向量检索做局部精确召回,图结构补全局与多跳。
常见误区
⚠️ 常见踩坑
别把 GraphRAG 当成「向量 RAG 的全面升级」——对答案集中在单一片段的简单事实问答,向量 RAG 更快更省;GraphRAG 的高建图成本只有在多跳/全局问题上才划算。
追问
追问 1:GraphRAG 的实体关系抽取出错会怎样?如何缓解?
错误的节点或边会沿图传播,导致答案串错关系。缓解手段:用更强模型或带 schema 约束做抽取、对实体做消歧与归并、加入人工审校或置信度过滤,并保留原文引用以便核验。
追问 2:什么是社区摘要(community summary),有什么用?
用图聚类算法把图划成若干社区,对每个社区让 LLM 生成层级摘要。回答「全局型」问题时直接聚合相关社区摘要,而非检索海量片段,从而高效覆盖整库主题。
追问 3:GraphRAG 与向量 RAG 如何混合使用?
常见做法是向量检索做局部精确召回拿到相关片段,图遍历补充实体间的多跳关联与上下文,两路结果合并后再 rerank 交给 LLM;按问题类型路由到不同策略。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
🛠️ AI 工具
- LlamaIndex
文档 Agent 和 OCR 平台,48,716+ stars。领先的 RAG 框架,提供文档索引、数据检索、Agent 编排等完整能力,支持多模态文档理解和智能问答
- LangChain
最流行的 LLM 应用开发框架,137K+ stars。提供链式编排、RAG 检索增强生成、Agent 构建等核心能力,覆盖 Python 和 JavaScript 双语言生态,是构建 LLM 应用的基础设施
- GraphRAG
微软开源的基于知识图谱的 RAG 系统,将传统向量检索升级为图谱推理,大幅提升复杂问答的准确性和可解释性。