AI 术语表 · 进阶 · 语言模型
GraphRAG
GraphRAG 是一种检索增强生成(RAG)方法:先将文档中的人物、公司、概念等对象及其关系整理成“知识图谱”,再利用这一结构帮助 AI 回答问题。它尤其擅长把分散的信息串联起来,或回答需要综观整份文档的问题。
是什么/有何不同
RAG 是让 AI 在回答之前先从外部文档中查找相关内容作为参考的技术。一般的 RAG 会找来与问题意思相近的短文本片段,但对于“这份资料整体的主要主题是什么”这类需要通览全局的问题,或需要串联多处分散信息的问题,这种方式就比较弱。GraphRAG 不只是把文档切成片段,还会从中提取对象(实体)和关系,整理成网状的知识图谱。在检索和回答时同时利用这样构建的结构,是它的核心区别。
工作原理
以 Microsoft 发布的 GraphRAG 为例,首先将文档切分成便于分析的小单元。接着由 LLM 从每个片段中提取对象和关系,构建知识图谱。将彼此紧密相连的对象分层划分为称为“社区”的分组,并预先为每个分组写好摘要。有问题进来时,先用各分组摘要生成部分答案,再把这些部分答案汇总整理成最终答案。
发展历程
2024 年 Darren Edge 等人发表的《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》是让 GraphRAG 这一名称广为人知的论文,它新提出了利用知识图谱和社区摘要来回答涵盖整份文档的问题的方法。同年推出的 RAPTOR 提出了反复对文本片段进行分组和摘要、构建树状摘要结构,并从中检索多个层级摘要的方法。GRAG 则提出,在论文引用网络或社交媒体这类本身就相互关联的文档中,高效找出相关的小型子图,并把文本内容和连接结构一起输入 LLM 的方法。这些研究都属于用结构化信息弥补“只检索短片段的 RAG 的局限”这一潮流。
为何受到关注
企业希望让 AI 处理公司内部文档、研究资料、业务记录等模型训练时从未见过的数据,这一需求正在增长。这类资料中“串联多条信息的问题”和“概括整体的问题”很多,仅靠一般 RAG 往往不够。Microsoft 表示,GraphRAG 在这两类问题上的表现明显优于现有 RAG。图数据库公司也在将 GraphRAG 作为 AI 智能体的知识库加以推广。
注意事项(局限)
构建图谱并预先写好摘要需要大量调用 LLM,因此会产生准备成本和时间。如果 LLM 提取对象或关系有误,这些错误会留在图谱中并一直影响到答案。文档发生变化时,图谱和摘要也需要重新更新。对于简单的事实核查类问题,一般 RAG 往往就足够了,因此最好根据问题类型选择使用或组合使用。
示例
例如,假设一家公司把多年的会议记录和报告接入了 AI 助手。“去年讨论最频繁的风险是什么”这样的问题,无法靠某一句话来回答。使用 GraphRAG,就可以基于项目、部门、风险之间的关系图谱以及各主题摘要,生成涵盖整份文档的答案。Microsoft 已将 GraphRAG 作为开源工具发布,Neo4j 等图数据库公司也提供构建 GraphRAG 的功能。