GraphRAG(Graph-based Retrieval-Augmented Generation)是微软提出的新一代检索增强生成技术,其核心创新在于将知识图谱与大语言模型(LLM)深度融合,突破传统RAG技术的局限性。
工作流程
-
索引构建阶段 :
-
文本块分割 :将源文档分割成多个重叠的文本块,每个文本块包含 500-1000 个 token。
-
实体、关系和协变量提取 :使用 LLM 从每个文本块中提取出实体(如人名、地点、组织等)、关系(如 “位于”“工作于” 等)以及协变量(如时间、地点等附加信息),并构建初始知识图谱,以 JSON 格式分别存储实体、关系和协变量。
-
层次社区划分 :通过 Leiden 算法对初始知识图谱进行多层社区划分,形成 “主题→子主题→具体实体” 的层次结构,每个社区由一组密切相关实体组成。
-
社区摘要生成 :使用 LLM 为每个社区生成摘要,自底向上逐层生成,低层社区摘要聚焦细节,高层社区摘要整合主题共性,以压缩文本量并提升检索效率。
-
-
查询响应阶段 :
-
查询解析与关键词提取 :解析用户查询,提取其中的关键词。
-
社区匹配与摘要检索 :匹配包含相关关键词的社区,将社区摘要分块。
-
中间答案生成与合并 :利用 LLM 并行对分块后的社区摘要生成中间答案,然后按评分合并生成最终全局答案。必要时,可递归调用低层社区检索以补充细节。
-
与传统 RAG 的本质区别
-
知识表示方式
-
传统 RAG:依赖文本块(chunk)的向量相似性匹配,检索范围局限于局部片段,难以捕捉跨文本的隐含关系67。
-
GraphRAG:将非结构化文本转化为知识图谱(实体为节点、关系为边),支持多跳推理与语义聚合。例如,查询“高性能摄影手机”时,可通过图谱关联“摄像头参数”“用户评价”等分散实体,生成综合答案1610。
-
-
查询能力对比
查询类型 传统 RAG GraphRAG 多跳关系推理 弱(依赖分块匹配) 强(图遍历) 全局摘要问题 碎片化答案 社区摘要合成 隐性关系挖掘 有限 通过图谱链接隐含概念
GraphRAG 通过知识图谱的结构化表示解决了传统 RAG 在复杂查询中的瓶颈,尤其擅长多跳推理、全局摘要及隐性关系挖掘。尽管面临成本与性能挑战,其在垂直领域(医疗、法律、商业)的实践已验证显著效果。未来随着轻量化框架(如 LightRAG)与自动化图谱技术(如 SAC-KG)的发展,GraphRAG 有望成为企业级知识系统的核心组件