GraphRAG知识图谱增强检索原理
请解释GraphRAG(基于知识图谱的RAG)的原理。与向量RAG相比有什么优势?Microsoft的GraphRAG实现使用了哪些技术?构建知识图谱RAG的核心步骤是什么?
回答
我是大山
GraphRAG用知识图谱结构化的关联信息增强检索。
vs 向量RAG: | 特性 | 向量RAG | GraphRAG | |------|--------|---------| | 检索方式 | 语义相似度 | 关系+语义 | | 多跳推理 | 弱(需多次检索) | 强(沿关系跳转) | | 全局推理 | 难 | 易(基于社群总结) | | 实体关系理解 | 隐式 | 显式 |
Microsoft GraphRAG实现:
- 实体抽取:LLM从文档提取实体和关系
- 社群检测:Leiden算法分层聚类
- 社群总结:对每个社群生成自然语言摘要
- 检索:全局搜索(社群总结)+局部搜索(实体子图)
核心步骤:
- 文档->实体/关系/三元组
- 存入图数据库(Neo4j/Neptune)
- 查询时:问题->实体->子图检索->语义增强
优势:处理关联性/全局性问题(如数据集整体趋势)。