006|GraphRAG:知识图谱如何让 RAG 更具推理能力
GraphRAG 把文档抽取成知识图谱,让 RAG 能回答需要关系推理的问题。微软主推,面试高频。
核心结论:GraphRAG(格拉夫·拉格)先在文档上构建知识图谱(诺·莱吉·格拉夫),把实体和关系结构化存储。检索时不仅找文本片段,还能沿着关系推理,适合复杂问答和全局总结。
一、为什么需要 GraphRAG
传统 RAG 只能回答'文档里说了什么'。但很多问题需要连接多个信息:
问题:A 公司的 CEO 之前在哪工作?
这需要:
1. 找到 A 公司的 CEO 是谁
2. 找到这个人的工作经历
3. 连接两者得出结论
向量检索片段无法直接做这种关系推理。
二、GraphRAG 流程
1. 文档切分
2. 抽取实体(人、公司、地点)
3. 抽取关系(任职、投资、合作)
4. 构建知识图谱
5. 查询时做图检索或子图生成
6. 把图谱信息 + 文本片段一起给 LLM
三、GraphRAG 的优势
| 优势 | 说明 |
|---|---|
| 关系推理 | 能回答'谁和谁是同事'这类问题 |
| 全局总结 | 能回答'这篇文档主要讲了什么' |
| 可解释性 | 答案可以追溯到有向图路径 |
| 减少幻觉 | 结构化的关系约束了生成 |
四、GraphRAG 的挑战
- 图谱构建成本高,需要高质量的抽取模型。
- 图谱更新比向量库复杂。
- 小规模场景没必要用。
五、面试问答
Q:GraphRAG 和普通 RAG 怎么选?
如果问题需要关系推理、全局总结、跨文档连接,用 GraphRAG。如果只是简单的文档问答,普通向量 RAG 就够了。两者也可以结合使用。
六、一句话总结
GraphRAG 把散落的文本变成结构化的知识网络,让 RAG 从'找得到'进化到'推得动'。
下一步推荐
- 007|长上下文与 RAG 结合:什么时候该扔全文,什么时候该检索
- 008|Agent 项目工程化:代码组织、测试、部署