准确率飙升!Graph RAG如何利用知识图谱提升RAG答案质量(一)——GraphRAG是什么?

温馨提示

本分享为系列知识分享,预期分为三节:

  • GraphRAG是什么
  • GraphRAG详细工作原理
  • 微软GraphRAG 代码实战

本分享为第一小节 GraphRAG是什么, 大家读完感兴趣可订阅专栏,掌握GraphRAG的技术核心与实战指南~

前言

在人工智能大模型技术蓬勃发展的时代,对于大语言模型而言,知识就是能力,用于增加大模型知识范畴的RAG(检索增强生成)技术 是当代大模型应用的核心技术之一。 RAG技术通过合理的挂载外部知识库,提供给大模型更大范围更精确的问答选题。笔者的文章一文带你了解RAG核心原理!不再只是文档的搬运工详细介绍了RAG知识库系统的核心原理,大家如果对RAG底层知识不太了解可以先阅读这篇文章~

尽管现在RAG系统性能相比最初版本已经取得极大提升,但大家在使用过程中还是会发现很多局限:

  1. 检索精度随着文本长度增加而降低;
  2. 匹配度较低的问题无法进行精确问答;
  3. 围绕长文本的综合性问题无法进行有效回答;
  4. 跨文本段实体信息无法回答...

虽然笔者在工作实践中已经总结出很多RAG的提升技巧(可见笔者文章RAG系统效果不达预期?一定要看看这篇详细高效的优化指南!,预计提升现有系统20%准确率),但还是有很多RAG框架本身存在例如长文本综合性问题等局限,出现无法有效回答用户问题的情况。

2024年12月底微软提出的GraphRAG改进了RAG系统的底层架构,借助知识图谱的能力显著提升了RAG系统的回答准确率,被大家广泛关注~

一、GraphRAG与传统RAG异同

1.1 GraphRAG 发展历史

传统RAG检索精确度受限于文本长度,对于长文本综合性问题回答准确率低,各界一直都在积极探索RAG的改进方向,微软在RAG演进道路上走在了前列:

  • 2024年2月,微软研究院的一篇博客提出了GraphRAG基本思路。
  • 2024年4月,同样由微软研究院发表相关论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》, 学术角度论证了GraphRAG有效性。
  • 2024年6月,微软正式发布GraphRAG项目
  • 2024年11月初,微软优化了GraphRAG的搜索代码,引入了Drift_search 动态搜索,这就是目前GraphRAG的基本框架。

1.2 GraphRAG 改进手段

传统的RAG引擎先围绕文本进行分片切分为短文本块,再围绕短文本块的内容与用户问题进行匹配,匹配完之后再把短文本的段落通过提示词代入到大模型中进行回答。

GraphRAG与传统RAG不同,它有一个非常长的处理流程,首先会通过大模型把用户的原始输入处理成一个巨大的知识图谱,然后基于当前巨大的知识图谱预提取出几个核心的主题。当用户提问之后,整个的GraphRAG就会把用户的问题与当前知识图谱里面的主题和实体进行一个匹配,根据主题和实体之间的关系去寻找相关的文本段落,最后再通过提示词把相关文本段落代入到大模型之中完成回答。知识图谱可以让大模型全面分析整个文档内容,通过实体间关联关系将分散在通篇文章的文本块集合起来解决传统RAG的跨文本段效果变差的问题。

总体来说,GraphRag和传统RAG最大的区别就是GraphRAG会预构建基于当前文档的知识图谱,检索的过程也是依据当前的知识图谱,可以更全面更有逻辑性的了解当前内容。

1.3 GraphRAG 检索特点

与传统RAG相比,GraphRAG检索具有如下特点:

  • 高精度高消耗(构建知识图谱要消耗大量模型token)
  • 受模型底层性能影响较大
  • 灵活度较高,受知识图谱构建策略影响较大

总体来说GraphRAG对模型的性能要求会比较高,微软刚推出GraphRAG的时候曾称只有GPT-3.5/4模型可以完美满足GraphRAG图谱构建需求。然而随着DeepSeek、Qwen、Gemini、Claude一系列强大的基座模型的发布,困扰GraphRAG的模型性能瓶颈几乎被消除。

二、GraphRAG与传统RAG 性能对比

大家了解了GraphRAG的基本原理之后,我们通过实际案例评测对比GraphRAG与传统RAG的性能,带大家直观感受GraphRAG的强大之处。本次实验使用RagFlow 作为传统RAG框架,使用微软github GraphRAG项目( github.com/microsoft/g... )作为GraphRAG框架。本次实验使用的知识库数据是包含代码、文字、图片、代码运行结果的600+页 《经典机器学习》pdf书籍。

2.1 小范围针对性问题

首先提问传统RAG两个小范围、答案集中在文档某一部分的问题:

ruby 复制代码
问:请帮我介绍下K-Means快速聚类基本原理
答: K-Means快速聚类是一种基于距离的聚类算法,其基本原理是将数据集中的点划分为K个簇,使得每个点都尽可能靠近其所属簇的中心点。以下是K-Means快速聚类的基本原理和执行流程:K-Means快速聚类原理..
makefile 复制代码
问:请帮我介绍下Lesson 8.3总共介绍了几种决策树算法?
答:文档中介绍了以下几种决策树算法:ID3算法、C4.5算法、C5.0算法。文档明确提到了这三种算法,并详细描述了它们的背景、特点和关系。

可以看到对于回答集中在文档某一部分的问题,传统RAG的回答效果还是不错的,然而面对下一个测评,传统RAG架构就完全应付不了了。

2.2 大范围低匹配度问题

当你去提问大范围综合性质的问题时,传统RAG因为没有检索到完全匹配的段落,会产生很弱智的回答:

makefile 复制代码
问:你觉得该书籍质量如何?
答:文档中并未直接提及书籍的质量。因此,该信息不是来自文档。根据文档内容,我们可以了解到书籍内容涵盖了机器学习的基本概念、建模流程以及线性回归模型的训练,但并未包含对书籍质量的评价。

我们再尝试一个:

makefile 复制代码
Q:现在你的知识库里面的内容是《经典机器学习》书籍,其中总共介绍了多少种机器学习算法?
A:文档中没有明确介绍具体的机器学习算法种类数量。文档内容主要围绕机器学习的基本概念和建模流程展开,并没有列举或介绍具体的算法。因此,无法从提供的文档内容中确定介绍了多少种机器学习算法。

产生如上情况的原因就是没有任何一个段落的文档里面有明确提出:"该书籍总共介绍多少种机器学习算法的描述", 传统RAG对于没有明确表述文本块的内容回答完全不正确。

传统RAG效果不好,我们看看GraphRAG在低匹配度下的问答效果。

ruby 复制代码
问:现在你的知识库里面的内容是《经典机器学习》书籍,其中总共介绍了多少种机器学习算法?
答:资料中介绍了以下几种机器学习算法:K-Means聚类(包括K-Means和Mini Batch KMeans)
DBSCAN密度聚类线性回归...

相比于传统RAG, GraphRAG不仅直接回答了问题的内容,还能从上下文中提取相关信息进行补充,提升回答的全面性。

三、总结

本篇分享向大家介绍了GraphRAG的基本原理,同时通过实际的案例评测直观感受了GraphRAG的能力。GraphRAG可以通过知识图谱提供更多的上下文支持,即使匹配度较低问题也能总结全文完成回答。GraphRAG在多样性上的表现优于传统的RAG,知识图谱的能力对于需要多元视角的复杂问题尤为重要。

GraphRAG的基本原理我们已经掌握,但为了更好的学习应用GraphRAG框架,我们更应该知道GraphRAG知识图谱构建以及索引查询的详细步骤,这部分内容放到我们下篇分享。感兴趣大家可关注笔者掘金账号,更可关注笔者的同名微信公众号:大模型真好玩, 免费获得笔者工作实践中的各种资料~

相关推荐
sell-cloud3 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国4 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI4 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区5 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris7 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy7 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V7 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI7 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技7 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
gCode Teacher 格码致知7 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas