GraphRAG 本质上是 KRAG 在大模型能力溢出后的一个现代化变种。它用大模型暴力平推了建图过程,并且放弃了极度苛求准确的 Text-to-Cypher 方式,转而使用图结构游走+社区摘要**来进行泛化检索。
一、基础入门:GraphRAG 核心认知
1. 什么是 GraphRAG
GraphRAG(基于图的检索增强生成)是一种将 知识图谱(Knowledge Graph, KG) 的结构化能力与 大语言模型(LLM) 的语义理解能力相结合的检索范式。
- 核心定义: 它通过将非结构化文本转化为“实体-关系-实体”的图结构,并利用图算法(如社区发现、拓扑游走)对知识进行预处理和索引。
- 技术本质: 传统的 Vector RAG 是在“寻找相似的碎片”,而 GraphRAG 是在“还原逻辑的网格”。它不仅存储文本的向量特征,还显式地存储了实体间的逻辑联系。
2. GraphRAG 的起源与发展
- KG-RAG 阶段(早期): 开发者尝试将现有的结构化数据库(如 Neo4j 中的企业数据)通过 Text-to-Cypher 转换提供给 LLM。由于对预建图谱依赖过高且 Schema 僵硬,难以处理通用非结构化文档。
- 微软 GraphRAG 的突破(2024年): 微软开源了同名框架,标志着进入了“由 LLM 驱动建图”的新阶段。
- 创新点: 引入了 社区发现(Leiden 算法) 和 多层级摘要 机制,解决了图谱在海量数据下的查询效率问题,并首次实现了大规模文档集的全局总结能力。
- 现状: 目前正向“轻量化”和“实时化”发展,尝试在建图成本(Token 消耗)与检索精度之间寻找平衡。
3. GraphRAG 与传统 RAG 的区别
| 特性 | 传统 Vector RAG | GraphRAG |
|---|---|---|
| 底层索引 | 向量嵌入(Vector Embedding) | 实体-关系图 + 向量 + 社区摘要 |
| 检索单位 | 孤立的文本切片(Chunks) | 节点、关系路径、社区总结 |
| 推理能力 | 弱,仅支持单跳语义相似度匹配 | 强,支持跨文档的多跳(Multi-hop)推理 |
| 视野范围 | 局部视图: 只能看到 Top-K 个片段 | 全局视图: 能够理解全量文档的主题趋势 |
| 典型缺陷 | 容易出现“盲人摸象”,丢失跨片段的逻辑 | 索引成本高(需要大量 LLM 预处理) |
4. GraphRAG 的核心价值与应用场景
核心价值:
- 消除碎片化: 通过边(Edges)将散落在不同文档的信息缝合,解决“信息孤岛”问题。
- 增强可解释性: 检索到的答案可以追溯到明确的实体关联路径,而不仅仅是概率上的语义相似。
- 支持复杂查询: 能够回答“总结这 500 份报告的主要风险点”这类传统 RAG 无法处理的聚合类问题。
典型应用场景:
- 金融/法律审计: 在数千份合同或财报中发现潜在的风险关联链条(如:A公司通过B公司控股C公司的隐秘关系)。
- 科研知识发现: 辅助研究员在海量论文中寻找跨领域的潜在联系(如:某种蛋白质与特定病症的间接逻辑)。
- 企业级 Agent 记忆库: 作为 Agent 的长期记忆(Long-term Memory)底层,记录用户复杂的人际关系、项目进展和逻辑偏好。
- 垂直领域问答: 在医疗、工程等对逻辑严密性要求极高的场景下,提供比向量检索更准确的事实核查。
二、核心基础:Graph 与 RAG 前置知识
2.1 图(Graph)基础
- 图的核心概念(节点、边、属性、图结构类型)
- 常用图数据库简介(Neo4j、NebulaGraph 等,适配 GraphRAG 的特性)
- 图数据的存储与基础操作(增删改查、图遍历)
2.2 RAG(检索增强生成)基础
略
三、GraphRAG 核心技术架构
1. GraphRAG 整体架构拆解
数据输入、图构建、检索增强、生成输出
2. 核心模块详解
数据预处理与图构建
(文本拆分、实体抽取、关系抽取、图生成)
图检索模块
核心框架
GraphRAG 的图检索(Graph Search)模块是整个系统的检索核心,负责从构建好的知识图谱(实体-关系-社区层次结构)中提取结构化上下文,供给 LLM 生成答案。
其最大创新在于双模式检索架构:
- Local Search(局部搜索):以具体实体为入口,通过图遍历 + 邻域扩展获取精确子图 + 关联文本块(TextUnits)。 特点:细节丰富、多跳推理能力强、可解释性高、适合事实性、针对性、逻辑推理查询。 本质是“从点到面”的精确检索。
- Global Search(全局搜索):基于预计算的社区报告(Community Reports),采用 map-reduce 方式对高层抽象总结进行合成。 特点:覆盖整个数据集、擅长主题洞察、跨文档综合、趋势总结,解决“只见树木不见森林”问题。 本质是“从面到点”的抽象检索。
Local 与 Global 的本质关系:
- Local 是实体驱动的图结构检索(graph traversal + vector)。
- Global 是社区驱动的总结检索(pre-summarized hierarchical communities)。
- 两者并非对立,而是互补:Local 提供精度与证据链,Global 提供广度与全局上下文。实际系统中常采用混合模式(Hybrid / DRIFT Search)——先 Global 粗选社区,再 Local 精细遍历。
Local Search 主导的检索方法
这些方法以实体匹配或路径扩展为核心,高度依赖知识图谱的结构化遍历,构成了 Microsoft GraphRAG Local Search 的主要实现路径。
- 基于实体匹配的检索:最基础入口,从 query 抽取实体 → 向量匹配节点 → 返回 1~2 跳子图。Local Search 的标准起点。
- 基于关系路径的检索:固定跳数或带约束的路径查找(A→B→C)。Local Search 的多跳推理核心。
- 基于子图匹配的检索:将意图转化为查询子图模式,进行同构/近似匹配。Local Search 处理复杂结构查询的主要方式。
- 基于图嵌入 / 向量的检索:节点/关系/子图嵌入 + 向量相似度检索。Local Search 中用来模糊匹配实体的关键技术(TransE、GraphSAGE 等)。
- 基于关键词 / 文本属性的图检索:对节点文本属性做 BM25/向量检索后扩展邻域。Local Search 中实现“图 + 文本”混合检索的常用手段。
- 规则 / 模板驱动检索:预设模板 + 槽位填充执行图查询。Local Search 在垂直领域固定问答中的高效实现。
- 大模型引导的检索(LLM-guided):LLM 生成 Cypher/SPARQL 查询后执行遍历。Local Search 中用于高度定制的复杂路径查询(需结合规则防不稳定)。
Local Search 共同特点: 检索起点是具体实体/路径,输出是结构化子图 + 原始文本,强调精确性和可追溯性。
Global Search 主导的检索方法
这类方法直接依托 GraphRAG 的 社区发现(Leiden 算法) 与预生成的社区报告,是 Global Search 的专属机制。
- 基于社区 / 聚类的检索:定位 query 相关社区,返回整个社区子图或报告。Global Search 的绝对核心,通过 map-reduce 实现全局合成。
Global Search 共同特点: 检索起点是高层社区摘要,输出是抽象总结,擅长处理无明确实体或需要全景洞察的查询。
混合 / 辅助型检索方法
这些方法不绑定单一模式,而是作为优化层或桥梁,在 Local 和 Global 中均可灵活使用。
- 混合检索:图结构 + 向量检索(最常用):向量先找相关文本/实体 → 映射到图中扩展子图。
- Local 中是默认流程;Global 中可先向量筛选社区报告。
- 基于权重 / 重要度的剪枝检索:PageRank、度中心性等排序后保留高价值子图。
- Local 中控制邻域扩展规模;Global 中实现动态社区选择(Dynamic Community Selection),大幅降低 token 消耗。
总结
| 检索方法类型 | 主导模式 | 核心机制 | 典型适用查询类型 | 在 GraphRAG 中的位置 |
|---|---|---|---|---|
| 实体匹配 | Local | 向量 + 1-2跳遍历 | 事实类、简单实体问答 | Local 起点 |
| 关系路径 / 子图匹配 | Local | 图遍历 + 路径约束 | 多跳推理、逻辑问题 | Local 核心 |
| 图嵌入 / 向量检索 | Local | 嵌入相似度 | 语义模糊、开放域 | Local 主要技术 |
| 关键词 / 文本属性 | Local | 文本检索 + 邻域扩展 | 图文混合场景 | Local 增强 |
| 规则 / 模板驱动 | Local | 模板匹配 | 垂直领域固定问答 | Local 优化 |
| LLM-guided | Local | LLM 生成查询语句 | 复杂定制查询 | Local 高级 |
| 社区 / 聚类 | Global | 社区报告 + map-reduce | 全局主题、趋势总结 | Global 核心 |
| 混合(图+向量) | 混合 | 向量→图映射 | 绝大多数实际场景 | 默认策略 |
| 权重 / 剪枝 | 混合 | 重要度排序 | 大图 token 控制 | 两者均用优化层 |
增强生成模块
(图信息融合、prompt 设计、大模型适配)
3. GraphRAG 的技术关键点
实体对齐、关系推理、上下文融合
四、GraphRAG 实践流程
- 环境搭建(依赖库、图数据库部署、大模型配置)
- 数据准备(数据源选择、数据清洗、格式适配)
- 图构建实操(实体 / 关系抽取工具、图数据库写入)
- 检索与生成调试(检索策略优化、prompt 调优、结果评估)
- 常见问题与解决方案(图构建失败、检索精度低、生成不符合预期)
五、进阶提升:GraphRAG 优化与扩展
- 性能优化(检索速度、生成效率、图存储优化)
- 功能扩展(多模态 GraphRAG、动态图更新、多图融合)
- 高级技巧(prompt 工程、实体消歧、关系推理增强)
六、案例解析:GraphRAG 实际应用场景
- 知识库问答(企业文档、学术文献)
- 知识图谱增强生成(智能对话、报告撰写)
- 复杂场景应用(金融分析、医疗检索、舆情分析)
七、工具与资源汇总
- 常用工具(图构建工具、检索工具、调试工具)
- 学习资源(官方文档、论文、开源项目、教程)
- 社区与交流渠道
八、总结与展望
- GraphRAG 核心知识点总结
- 技术发展趋势(未来优化方向、落地场景拓展)
- 个人学习计划与实践规划