微软开源 GraphRAG:基于图的检索增强生成技术解析
微软于 7 月 2 日开源 GraphRAG,一种结合知识图谱与图机器学习的检索增强生成方法。相比传统向量搜索的基线 RAG,GraphRAG 能更好地处理私有数据中的复杂语义推理和跨文档信息关联。通过构建实体社区并预生成摘要,它在回答需要全局理解或连点成线的问题时表现显著优于基线方案,同时提供可追溯的出处引用。该技术适用于新闻分析、社交媒体及企业知识库等场景,为大模型在私有数据上的应用提供了新的方向。

微软于 7 月 2 日开源 GraphRAG,一种结合知识图谱与图机器学习的检索增强生成方法。相比传统向量搜索的基线 RAG,GraphRAG 能更好地处理私有数据中的复杂语义推理和跨文档信息关联。通过构建实体社区并预生成摘要,它在回答需要全局理解或连点成线的问题时表现显著优于基线方案,同时提供可追溯的出处引用。该技术适用于新闻分析、社交媒体及企业知识库等场景,为大模型在私有数据上的应用提供了新的方向。

这是增强大语言模型能力的一大进步,也是一种彻底改变企业私有数据分析的技术。7 月 2 日,微软开源了 GraphRAG,一种基于图的检索增强生成 (RAG) 方法,可以对私有或以前未见过的数据集进行问答。在 GitHub 上推出后,该项目快速获得了大量关注。
通过 LLM 构建知识图谱结合图机器学习,GraphRAG 极大增强了 LLM 在处理私有数据时的性能,同时具备连点成线的跨大型数据集的复杂语义问题推理能力。普通 RAG 技术在私有数据(如企业的专有研究、商业文档)表现往往不佳,而 GraphRAG 则基于前置的知识图谱、社区分层和语义总结以及图机器学习技术可以大幅度提升此类场景的性能。
与我们传统的 RAG 不同,GraphRAG 方法主要归结为以下步骤:
这种方法让私有数据集也能被组织成有意义的语义集群并对其进行预总结。在回应用户查询时,LLM 会使用这些聚类对主题进行总结,从而更全面地理解数据集。
![图:GraphRAG 工作流程示意图]
微软在其博客上介绍说,他们在大规模播客以及新闻数据集上进行了测试,结果显示 GraphRAG 在全面性、多样性、赋权性方面优于朴素 RAG。
基线 RAG(Baseline RAG)在某些情况下表现非常差,例如很难连点成线。这种情况出现在问题的回答需要通过共用属性遍历不同信息片段以提供新的综合见解时。
微软团队采用了俄罗斯和乌克兰双方新闻来源在 2023 年 6 月中的上千篇新闻报道,将其翻译为英文后建成了这份将被用于基于 LLM 检索的私有数据集。由于数据集过大无法放入 LLM 上下文的窗口,因此需采用 RAG 方法。
查询语句:'Novorossiya 是什么?' 两个系统表现都很好,这是基线 RAG 表现出色的一类查询。
查询语句:'Novorossiya 做了什么?' 基线 RAG 没能回答这一问题,根据上下文窗口的源文件来看,没有任何文本片段直接提及该实体的完整行为描述,从而导致失败。相较之下,GraphRAG 方法发现了查询语句中的实体,让 LLM 能以此为基础建立图谱,连接原始支持文本从而生成包含出处的优质答案。
基线 RAG 不擅长处理需要汇总全部数据集信息才能得出答案的查询。类似'数据中排行前五的主题是什么?'的查询表现不佳,是因为基线 RAG 依赖对数据集中语义相似文本内容的矢量搜索,而查询语句中却没有任何能引导它找到正确信息的关键词。
但 GraphRAG 却可以回答这类问题。LLM 生成的知识图谱结构给出了数据集的整体结构和其中主题,让私有数据集也能被组织成有意义的语义集群并对其进行预总结。在回应用户查询时,LLM 会使用这些聚类对主题进行总结。
从测试结果来看,GraphRAG 生成的结果与数据集整体内容更为吻合。回答中提供了五大主题及其在数据集中观察到的辅助细节。其中参考的报告是由 LLM 为 GraphRAG 根据每个语义集合预先生成,提供了对原始材料出处的对照。
![图:GraphRAG 与基线 RAG 结果对比]
信任和验证 LLM 所生成的结果始终是重要的。微软希望结果总是事实性正确、连贯一致,并且能准确地反映原始材料中的内容。GraphRAG 每次生成回答时总会提供出处或源基础信息,表明它的回答是以数据集为基础的。每个论断的引用来源都一目了然,人类用户能够直接对照原始材料,快速且准确地审核 LLM 的输出结果。
上述示例中表现了 GraphRAG 在多个跨领域数据集上的持续改进。微软采用 LLM 的一个评分器给 GraphRAG 和基线 RAG 的表现进行评估和对比,设定了一系列定性指标,其中包括全面性(问题指向背景框架内的完整性)、人性化(提供辅助原始材料或其他背景信息),以及多样性(提供问题回答的不同角度或观点)。初步结果显示,GraphRAG 在这些指标上始终优于基线 RAG。
除了对比评估,他们还采用 SelfCheckGPT 对 GraphRAG 进行了忠实性的测试,以验证其基于原始材料的真实且连贯的生成结果。结果显示,GraphRAG 达到了与基线 RAG 相似的忠实度水平。
但值得一提的是,所有性能改进技术都有一个缺陷:token 的使用和推理时间都会增加。构建知识图谱和进行社区聚类需要额外的计算资源,这在实际部署时需要权衡成本与收益。
通过将 LLM 生成的知识图谱与图机器学习相结合,GraphRAG 能回答重要的问题类别,而这些问题是无法单独使用基线 RAG 完成的。在将这项技术应用于社交媒体、新闻文章、工作中生产力及化学等场景后,微软已经观察到了可喜的成果,未来他们将继续在各类新领域中应用这项技术。GraphRAG 的开源标志着大模型产业在私有数据处理能力上迈向新高度,为开发者提供了更强大的工具来解锁 LLM 在私有数据集中的探索能力。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online