图谱增强检索是什么
GraphRAG 把知识图谱引入检索增强生成:先用大模型从语料抽取实体、关系与关键声明(claim)建成图,再对图做社区检测并生成社区摘要;查询时局部问题走实体邻域检索,全局或综述型问题走社区摘要的 Map-Reduce 汇总。它针对的是纯向量检索的短板——回答「这批文档总体上讲了什么」这类需要跨文档归纳的问题。
基本信息
| 提出方 | 微软研究院,论文 arXiv:2404.16130 |
|---|---|
| 核心步骤 | 实体关系抽取 → 建图 → 社区检测 → 社区摘要 |
| 成本结构 | 抽取阶段需对全量语料调用大模型,属一次性大额开销 |
| 适用语料 | 中等以上规模、主题集中的高价值文档集 |
典型使用场景
- 综述型问答:需要跨几十份文档归纳共性与分歧时
- 关系推理:问题涉及实体之间的多跳关系,向量检索不会显式暴露
- 语料盘点:需要快速生成主题地图,了解资料覆盖了哪些方向
- 情报与调研:高价值语料上愿意承担一次性建图成本换取全局视角
- 混合架构:事实型问答继续用向量检索,综述型问题路由到图谱分支
处理阶段
处理阶段
1) 文本切分 → LLM 抽取实体 / 关系 / 声明
2) 构建图 → 社区检测(如 Leiden)→ 为每个社区生成摘要
3) 查询:局部问题走实体邻域检索;全局问题走社区摘要 Map-Reduce
4) 增量:新文档入库后只重跑受影响社区的摘要 # 全量重跑代价很高与向量检索的分工
| 问题类型 | 优先方案 | 原因 |
|---|---|---|
| 单一事实查询 | 向量或关键词检索 | 命中片段即可回答,建图开销用不上 |
| 跨文档综述 | 图谱社区摘要 | 需要覆盖与归纳,片段拼接容易只覆盖局部 |
| 关系推理 | 图谱实体邻域 | 多跳关系在向量空间里不显式 |
| 长尾细节 | 向量检索 + 引用 | 社区摘要会丢细节,细节仍要回到原文 |
实体抽取质量决定图谱价值:抽取提示词、模型档位与人工抽检缺一不可,否则错误关系会被社区摘要进一步放大。
语料规模小、问题都偏局部时,建图与摘要成本换不来收益;先评估问题分布再决定是否引入。