一文解析RAG VS GraphRAG的区别

RAG VS GraphRAG

最近的研究报告称,在许多实际任务中,GraphRAG的表现往往不如普通的RAG。因此产生一个问题:GraphRAG真的有效吗?在哪些场景下,GraphRAG有收益?为了解决这个问题,提出GraphRAG-Bench,这是一个评测GraphRAG的基准,目的是评估GraphRAG模型在层次知识检索和深度上下文推理方面的性能。文章指出的评测方式及评测结论可以参考。

GraphRAG-Bench具有一个全面的数据集,任务难度逐渐增加,涵盖事实检索、复杂推理、上下文总结和创造性生成,并对整个流程进行系统评估,从图构建和知识检索到最终生成。

一、RAG VS GraphRAG

下面这张图可能更清晰的看出RAG和GraphRAG的区别。

RAG VS GraphRAG

特性RAGGraphRAG
知识表示使用文本块(chunks),通过向量嵌入进行索引。使用图结构,节点代表实体、事件或主题,边定义逻辑、因果或关联关系。
检索机制关键词匹配或向量相似度检索。图遍历,检索直接相关节点及相互连接的子图。
复杂查询处理适用于需要快速访问离散信息的任务,但不擅长复杂逻辑推理。适用于需要深度上下文分析和复杂推理的任务,能够合成来自分散数据点的见解。
适用场景简单问答系统,需要快速响应的任务。医学诊断、法律分析、科学推理等需要深度理解和复杂推理的任务。
复杂性实现相对简单,依赖现有文本检索技术。实现较为复杂,需要构建和维护图结构,以及高效的图遍历算法。
性能在不需要复杂推理的任务上表现良好。在需要复杂推理和上下文理解的任务上表现出色,但可能增加检索速度和资源消耗。

二、评测

现有评测都比较简单,因此提出一个比较全面的评测基准-GraphRAG-Bench,包括难度逐渐增加的任务,涵盖事实检索、多跳推理、上下文总结和创造性生成等。

img

按复杂性分类的任务,从事实检索到创造性生成。

类别任务名称简要描述示例
第1级事实检索需要检索孤立的知识点,最小化推理;主要测试精确的关键词匹配。蒙特圣米歇尔位于法国的哪个地区?
第2级复杂推理需要通过文档中的逻辑连接链接多个知识点。Hinze与Felicia的协议如何影响对英格兰统治者的看法?
第3级上下文摘要涉及将碎片化信息综合成一个连贯、有结构的答案;强调逻辑连贯性和上下文。John Curgenven作为康沃尔船夫在探索该地区的游客中扮演什么角色?
第4级创造性生成需要超越检索内容的推理,通常涉及假设或新颖的场景。将亚瑟王与John Curgenven的比较以及康沃尔海岸线的探索重述为新闻文章。

评估指标

在评估GraphRAG系统时,引入了多种指标来全面评估系统在知识图谱构建、检索和生成过程中的表现:

1. Graph Quality (图质量)
  • NODE COUNT(节点数量):衡量在知识图谱构建过程中提取的实体数量。较高的节点数量意味着更广泛的领域覆盖和更细粒度的知识表示。

  • Edge Count(边数量):衡量实体之间的关系数量。较高的边数量表明更密集的语义连接,有助于多跳推理和复杂查询处理。

  • Average Degree(平均度):通过计算每个节点的平均边数来衡量全局连接性。较高的平均度表示更集成的知识表示,支持高效的跨节点遍历。

    其中, 是节点集合, 是节点 的度。

  • Average Clustering Coefficient(平均聚类系数):通过三元组完成来评估局部邻域连接性。较高的值表明存在连贯的子图,支持局部推理。

    其中, 是节点 的聚类系数, 表示其中心三角形数。

2. Retrieval Performance (检索性能)
  • Context Relevance(上下文相关性):衡量检索内容与问题意图的对齐程度。通过计算问题和检索证据之间的语义相似性来量化,较高的值表示更集中和相关的信息。
  • Evidence Recall(证据召回率):通过评估是否捕获了正确回答问题所需的所有关键组件来衡量检索的完整性。较高的值表示更全面的证据收集。
3. Generation Accuracy (生成准确性)
  • Lexical Overlap(词汇重叠):使用最长公共子序列匹配来衡量生成答案与参考答案之间的词级相似性。
  • Answer Accuracy(答案准确性):评估生成答案与参考答案的语义相似性和事实一致性。
  • Faithfulness(忠实度):评估长篇答案中的相关知识点是否忠实于给定的上下文。
  • Evidence Coverage(证据覆盖率):衡量答案是否充分涵盖了与问题相关的所有知识。

三、实验性能

GraphRAG在需要多跳推理和上下文综合的任务中表现优异,但在简单事实检索任务中不如传统RAG。

  • 生成准确性: 基本RAG在简单事实检索任务中表现优于GraphRAG,但在复杂推理、上下文摘要和创造性生成任务中,GraphRAG表现出明显优势。
  • 检索性能: GraphRAG在复杂任务中表现出色,特别是在需要多跳推理和上下文综合的任务中,能够连接远距离文本片段,提供更全面的信息。
  • 图复杂性: 不同GraphRAG实现生成的索引图显示出显著的结构差异,HippoRAG2生成的图更为密集,提高了信息连接性和覆盖范围。
  • 效率: GraphRAG由于额外的知识检索和图聚合步骤,增加了提示长度,导致效率降低,尤其是在复杂任务中。

img

img

img

img

参考文献:When to use Graphs in RAG: A Comprehensive Analysis for Graph Retrieval-Augmented Generation,https://arxiv.org/pdf/2506.05690v1


四、如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

### RAGGraphRAG 的比较 #### 架构差异 Retrieval-Augmented Generation (RAG) 结合了检索模型和生成模型的优点,在处理自然语言理解和生成任务时表现出色[^1]。相比之下,GraphRAG不仅继承了RAG的特点,还引入了图结构数据的支持,使得该架构能够更好地捕捉实体之间的关系。 #### 数据表示形式的不同 对于传统文本输入,RAG依赖于预训练的语言模型来编码查询并从大规模文档集合中检索相关信息片段;而GraphRAG则进一步利用图形数据库中的节点和边作为额外的知识源,增强了对复杂关联的理解能力。 #### 应用场景对比 - **通用问答系统** 对于基于纯文本的简单问答回答,标准版RAG已经可以提供令人满意的性能表现。它能够在不牺牲太多效率的情况下实现高质量的回答生成。 - **领域特定应用** 当涉及到更复杂的行业知识或专业知识时,比如医疗保健、法律咨询等领域,则更适合采用GraphRAG方案。因为这类情况下往往存在大量相互联系的概念需要被有效建模,从而提高系统的准确度与可靠性。 ```python # 示例代码展示如何初始化两种不同类型的模型 from transformers import RagTokenizer, RagTokenForGeneration, AutoModelForSeq2SeqLM rag_model_name = "facebook/rag-token-nq" graph_rag_model_name = "custom/graph-rag" tokenizer = RagTokenizer.from_pretrained(rag_model_name) model = RagTokenForGeneration.from_pretrained(rag_model_name) graph_tokenizer = RagTokenizer.from_pretrained(graph_rag_model_name) graph_model = AutoModelForSeq2SeqLM.from_pretrained(graph_rag_model_name) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值