ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一文看懂GraphRAG与传统RAG的7大区别及融合方案,你会怎么选择?

一文看懂GraphRAG与传统RAG的7大区别及融合方案,你会怎么选择? 前言GraphRAG是一种基于知识图谱的检索增强生成RAG应用不同于传统基于向量检索的RAG应用其允许进行更深层、更细致与上下文感知的检索从而帮助获得更高质量的输出。我们已经用几篇文章演示过GraphRAG应用的基本创建与使用过程基于Langchain/LlamaIndex以及Microsoft GraphRAG框架。那么什么时候应该使用GraphRAG而什么时候又应该回归传统的RAG二者能组合应用吗本文将对此进行探讨7个方面对比GraphRAG与传统RAGGraphRAG与传统RAG的融合使用对比GraphRAG与传统RAG这里不再累述传统RAG与GraphRAG的基本原理直接从几个不同角度来看它们之间的区别以帮助作出技术选择。01 适合的场景使用传统RAG还是GraphRAG从根本上取决于数据特征与查询问题两个方面因此这也是它们在适用性的根本差异。很难用绝对量化的方式去定义这样的差异但通常来说具备如下特征的数据更适合使用GraphRAG**有着较多的相互关联实体与复杂关系且结构较明确的数据。**比如人物关系网络数据如社交网络中的用户关系、历史人物之间的关系、家族图谱等。企业中的具有复杂实体关系的结构化数据。比如公司结构、供应链、客户等之间的关系。医学知识与疾病诊断数据涉及疾病、症状、治疗、药物、传播、病例等之间复杂关系。法律法规与判例分析数据涉及法律条款之间的引用关系、解释、判例与适用法律条款的关系。产品推荐系统数据涉及到产品、用户、浏览内容、不同产品之间的关联、用户之间的关系等。除了数据本身外使用者的查询问题是要考虑的另外一方面。**GraphRAG更擅长处理涉及复杂关系、语义推理和多步逻辑关联的查询或者关于知识本身元数据的问题。**比如多跳关系查询在xxx的同学的朋友中谁在阿里巴巴工作语义关联查询哪些公司提供LLM产品并且已经取得国家认证许可知识推理查询根据患者的症状和病史推断可能的疾病并提供治疗方案。涉及聚合统计查询过去两年中大模型增加了多少哪些公司占主导地位时序关联查询查询过去10年的xxx公司的投资与并购事件GraphRAG针对这样的问题提供了更强的数据导航与综合能力而在传统RAG中只能检索出向量上相似的“块”chunk而对其他部分则更可能产生幻觉。相对来说传统RAG则更适合回答基于数据内容的事实性问题比如“xxxx产品是哪一年正式发布的”02 知识表示GraphRAG与经典RAG采用了不同的知识表示形式。假如现在需要构建一个基于已有产品、用户等数据的推荐系统那么如何对已有的数据集进行知识表示呢【GraphRAG】在 GraphRAG 中可以将产品、品牌、类别和用户兴趣表示为相互关联的实体即Graph图结构。例如产品小米 15 Pro芯片高通骁龙8Gen2品牌小米类别智能手机用户兴趣高端手机、强大的摄影、适合游戏小米15 Pro 可以与“小米”品牌、“智能手机”类别、“高端手机”、“摄影”、“游戏”兴趣相关联后续将会看到这种结构化表示可以更好的用于相关产品的推荐。【传统RAG】在传统 RAG 中可能会将以上数据存储为一个文本块那么当用户搜索“高性能摄像头手机”时系统会根据关键词的语义相似性来匹配到这个文本块。这里GraphRAG的优势在于它可以很轻松在Graph图中遍历找到“还有哪些采用莱卡摄影的手机”而在传统RAG中如果没有明显的文本块匹配这里的问题就需要依赖程序对此进行查询分解与规划。03 知识检索虽然在传统RAG与GraphRAG中你也可以根据需要定义自己的检索机制与算法但无论如何你很难突破底层知识表示的界限。在一个产品推荐系统中考虑这样一个查询问题的检索推荐产品“有哪些适合拍摄高质量视频的智能手机并且具有良好的用户口碑”**在 GraphRAG 中**这样的查询可以从“智能手机”节点开始查找到多个关联的手机产品节点并检索这些手机产品关联的”特性“节点查找与“高质量视频”特性节点发生联系的手机用相同的方式查找与“优秀”用户口碑节点发生联系的手机进而通过多维度关联筛选可以找到与用户需求高度匹配的产品。用一个模拟的Cypher语句来表示这个查找**在传统 RAG 中**系统会试图通过如“智能手机”、“高质量视频”、“良好口碑”等关键词检索近似文本块如果存储的文本块中没有同时提到这些关键词的近似信息系统可能会返回一些仅仅与部分关键词相关的内容但这些推荐可能并不完全符合用户的需求。比如可能会推荐一款具备良好视频拍摄功能、但口碑一般的产品。这里可以看出GraphRAG可以有效地连接和聚合多个相关特性即使它们在不同的节点中表达也能通过图谱中的关系找到最佳检索结果。因此它能更精确地满足复杂、多维的用户查询。而传统 RAG 主要依赖于文本块的相似匹配如果查询问题与存储文本不完全匹配或不在同一个文本块中就可能无法返回最相关的结果导致生成结果不够精准。这种差异使得 GraphRAG 在应对复杂查询、跨越多个特性进行检索时具有显著优势。04 综合性查询传统RAG的一大痛点是它虽然能够较好的回答一些事实性问题但是在面对一些统计性、总结性、概要性的QFS问题Query-Focused Summarization时却无能为力或需要采用更复杂的技术手段来解决。【GraphRAG】知识图谱的结构化特征有助于回答关于数据本身的一些“元”问题比如“2023年市场上一共新推出了几款骁龙8Gen2芯片的手机”。而Microsoft GraphRAG这样针对非结构化文本构建GraphRAG的框架设计的一个主要出发点也是能够更好的回答基于高层语义理解的总结性查询问题。其借助社区检测算法来识别知识图谱中的多个社区并利用LLM对这些社区进行总结与摘要。因此当回答类似这样的问题“最近几年高端智能手机的整体发展趋势是怎样的”Microsoft GraphRAG会通过Map-Reduce算法首先从多个不同的关联社区比如不同年份社区来搜集到“高端智能手机”的信息Map最后汇总生成全局性答案Reduce。【传统RAG】传统 RAG 可能会检索到包含“高端智能手机”、“发展”或“最近几年”等关键词的文本块但难以将这些块串联起来形成一个连贯的趋势叙事。会导致结果往往是片段化的信息难以全面地回答查询。传统的RAG应对这样总结性问题的常用方法是使用较复杂的RAPTOR范式索引树状RAG、或者类似LlamaIndex中的tree_summarize的答案生成模式。05 隐藏关系理解GraphRAG其更容易通过图谱中的隐形关系来理解上下文而传统RAG则更依赖在明确的文本块中显性的匹配关联在理解隐性关系时存在局限。这种对隐性关系的理解有助于提供更有见地的见解。【GraphRAG】在 GraphRAG 中“iPhone 15 Pro” 和 “小米 15 Pro” 可能被理解为是相关的即使在任何文本块中没有直接将它们进行比较。因为它们都属于“高端智能手机”类别并且在”手机摄影”特性上表现突出。GraphRAG 可以理解这些产品的共同特性将它们自然地联系起来。因此当用户查询“适合拍摄的高端智能手机”时GraphRAG 可以基于这些隐性关联提供更全面的推荐。【传统RAG】而在传统 RAG 中系统只能根据文本块中明确提到的内容进行理解。如果某个文本块没有同时提到 “iPhone 15 Pro” 和“小米 15 Pro”传统 RAG 可能无法将这两个产品联系起来。06 可扩展性随着知识库的扩展GraphRAG在存储效率与检索能力等方面具备更好的扩展性。【GraphRAG】随着数据的增长GraphRAG 可以通过新增节点和关系自然的加入已有的知识图谱不需要重组已有的数据同时其结构化、层次化的特点能够保持检索的高效性。因为它能借助高效的图遍历算法与层次化的导航来快速的缩小检索的范围。比如一个查询可以从广泛的“手机”类别开始然后逐步缩小到“高端智能手机”最后深入到“适合摄影”。这种层次结构使得即使在数据增长的情况下也能通过高效导航快速定位相关信息在Microsoft GraphRAG还可以借助社区定位来缩小检索范围。【传统RAG】传统 RAG 主要依赖于文本块存储数据。这些文本块通常是非结构化或半结构化的随着知识的扩展增加的新数据可能需要重新组织现有的文本块甚至重复存储相似内容的多个版本导致存储效率低下并难以有效管理。同时数据规模的扩大也会显著影响系统的检索性能且在面对复杂或语义含糊的查询时容易受到更多噪音数据的干扰。比如当需要匹配包含“高端智能手机”和“摄影”关键词语义的文本块如果数据库中包含大量类似但不相关的内容系统可能会返回一大堆冗余结果。为了过滤掉不相关的块还可能需要引入重排序算法这会增加系统复杂性并降低效率。07 性能与成本尽管GraphRAG有着更好的数据扩展性但GraphRAG由于在索引创建需要提取与识别实体与关系、生成必要描述信息、识别社区、生成摘要等和查询处理中需要检索更多关联的节点、关系与社区信息等引入了额外的复杂性和计算开销这对于简单的查询任务特别是GraphRAG与传统RAG都能较好应对的问题来说可能是不合理的。下面是微软论文中的一个查询示例比较了GraphRAG与传统RAG之间的性能与LLM调用次数的差异尽管GraphRAG生成的结果更加全面但 GraphRAG 使用了几乎10 倍的时间和10 倍的 token LLM调用才能完成。因此在使用GraphRAG时需要充分考虑这里的性能与成本问题GraphRAG与传统RAG的组合使用整体来说GraphRAG 在处理复杂、互联的数据集以及需要深度关系理解的查询时表现出色。它能够显著提升信息检索的精度和深度特别是在需要多层次分析和推理的情况下。然而这种能力的提升也伴随着更高的系统复杂性和资源消耗。因此在决定是否采用 GraphRAG 之前必须仔细分析具体的应用场景、数据结构以及典型的查询模式。在以下情况下传统 RAG 仍然是更理想的选择简单、事实性查询对于类似“iPhone 13 是在何时发布的”这样的简单查询传统 RAG 能够更快速、直接地提供答案实施难度较低对于较小的数据集或简单的应用场景传统 RAG 的设置和维护通常更加容易适合快速部署和使用在实际应用中单一的检索方法往往难以适应所有需求。**为实现最佳性能和准确性可以考虑设计一个智能路由系统根据查询的类型和可用数据的特性动态选择最适合的检索方法。**这种灵活的策略可以包括传统RAG、Advanced RAG、GraphRAG、文本到 SQL的检索或其他优化的搜索方法确保每个查询都能使用最合适的工具进行处理。这里的关键在于构建一个强大的路由系统通常需要借助LLM实现能够智能地将查询引导至最优的检索路径。通过这种综合策略系统不仅能有效应对多样化的查询需求还能最大限度地优化资源利用提升整体性能。我们将在后续对这种传统RAG与GraphRAG融合的方案进行深度实践敬请关注。最后的最后感谢你们的阅读和喜欢我收藏了很多技术干货可以共享给喜欢我文章的朋友们如果你肯花时间沉下心去学习它们一定能帮到你。因为这个行业不同于其他行业知识体系实在是过于庞大知识更新也非常快。作为一个普通人无法全部学完所以我们在提升技术的时候首先需要明确一个目标然后制定好完整的计划同时找到好的学习方法这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表