突破传统RAG局限:GraphRAG如何提升大模型问答能力?

文摘   科技   2024-10-21 07:30   浙江  

作者|沙丘智库研究团队

来源|沙丘社区(www.shaqiu.cn)

大模型存在不可避免的幻觉问题,这正是RAG(检索增强生成)发挥作用的地方。

RAG通过连接外部数据源,将事实型知识引入大模型。但是,传统基于向量的RAG仍有其局限性,传统RAG是将数据分解成文本块,并独立检索这些片段,这可能导致遗漏信息片段之间的关系,缺乏全局视角。

GraphRAG是一种正在兴起的RAG技术,利用知识图谱来表示数据和元数据,同时还可以将文本或节点嵌入到图中。GraphRAG通过将知识图谱融入检索过程,提升传统RAG的性能,更好地理解语义关联。

01

传统RAG架构及其局限性

RAG(检索增强生成)是一种人工智能框架,旨在利用大语言模型进行跨外部知识源的自然语言查询。RAG的核心思想是通过外挂知识库的方式给大模型提供更可靠的知识来抑制模型产生幻觉,通过定期迭代知识库的方式就能解决大模型知识更新慢和训练成本高的问题。

典型的RAG链路可分为三个部分:数据准备、知识检索和答案生成。

• 数据准备阶段:数据准备的核心目标是产出高质量的文档和语料数据,以合适的方式存储到向量数据库中;

• 知识检索阶段:知识检索的核心目标是快速且准确的通过用户问题检索到最相关的知识块;

• 答案生成阶段:答案生成的核心目标是利用可靠参考信息指导大模型生成合理回答,使回答有足够的参考依据。

在以上链路中,RAG存在其固有的局限性。如下图所示,一些典型的局限性如下:

局限1:内容缺失。当用户提出的问题无法索引到相关文档时,可能会发生故障。在好的情况下,RAG系统会简单地回复“对不起,我不知道”等。但如果问题与内容相关,但缺乏具体答案,系统可能会被误导而作出错误的答复。

局限2:错过排名靠前的文档。与用户查询相关的文档被检索到,但相关性极低,导致答案不能满足用户需求,这主要源于在检索过程中决定检索“文档数量”的主观性。理论上所有文档都会被排序并考虑进一步处理,但在实践中,通常只有排名top k的文档才会被召回,k值需要进行实验或根据经验确定。

局限3:不在上下文中。从数据库中检索出包含答案的文档,但未能包含在生成答案的上下文中。这种情况通常发生在返回大量文件时,需要进行整合以选择最相关的信息。

局限4:未提取。答案与所提供的上下文相符,但大语言模型却无法准确提取。这种情况通常发生在上下文中存在过多噪音或相互冲突的信息时。

局限5:格式错误。当prompt中的附加指令格式不正确时,大语言模型可能误解或曲解这些指令,从而导致错误的答案。

局限6:查询的具体性不当。在处理用户查询时,要么没有充分利用用户提供的信息,要么过度使用这些信息,导致在考虑查询重要性时出现问题。这种情况很可能发生在输入和检索输出之间存在不恰当的组合时。例如,如果系统的检索算法过于依赖用户的某些关键词,而忽略了查询的其他重要方面,或者如果系统没有正确地将用户的查询与相关的信息源匹配,都可能导致问题。

局限7:不完整。尽管能够利用上下文生成答案,但信息缺失会导致对用户查询的答复不完整。

02

GraphRAG与传统RAG相比有什么不同?

为了解决上述RAG的一些局限性,出现了GraphRAG。

GraphRAG不再像传统RAG只提取文本块,而是深入研究关系网络——一个所有内容都相互关联的知识图谱。当用户提出一个问题时,GraphRAG不仅能找到答案,还能了解不同信息之间的关联。

从技术实现路径上看,与传统RAG相比,GraphRAG主要在信息检索来源和方法上有所不同。

传统RAG依靠向量存储来根据用户的查询检索相关文档,对检索结果排序并选择最重要的文档,将它们与查询结合起来,并使用语言模型生成最终响应。

相比之下,GraphRAG 利用的是知识图谱,其中包括实体、关系和文档图谱。GraphRAG从知识图谱中提取候选实体、关系和概念,对这些候选实体、关系和概念进行排序和过滤,然后将它们与查询结合起来生成响应。与传统RAG以文档为中心的方法相比,这种方法使 GraphRAG能够利用更多结构化和相互关联的数据,提供更智能、更完整的答案。

根据不同的领域和应用,GraphRAG也发展出不同类型,总结如下:

· 基于查询的 GraphRAG:首先将自然语言问题转换成基于图的查询语言,然后,图数据库引擎执行这个查询并返回结果。最后,这些结果被输入到大模型,模型利用这些信息生成最终的答案。

· 基于内容的 GraphRAG:不仅仅是执行查询,而是专注于检索图数据库中不同层次的内容,例如单个节点、关系(三元组)、图中的路径,甚至是子图。知识图谱中的各种元素被输入给大模型,使模型能够从多个角度和细节考虑,生成更全面和准确的答案。

· Agentic GraphRAG:在Agentic GraphRAG中,图检索过程成为AI Agent的工具。AI Agent不只是被动地使用图信息,而是主动地进行规划和推理,通过不断调整给出最佳答案。

GraphRAG方法的多样性意味着它可以根据不同任务的特定需求和复杂性进行定制,提供超越传统RAG方法的灵活性和深度。

03

何时使用GraphRAG?

在确定GraphRAG的应用场景时,需要识别那些需要复杂关系和上下文理解的领域,映射出领域内的实体及其关系。然后,评估使用图结构相对于传统方法的潜在优势,GraphRAG可以通过利用这些关系来增强数据检索,从而提供更准确、更符合上下文的信息。GraphRAG在数据点之间相互关联的场景中表现出色,例如知识管理、推荐系统、欺诈检测等。

在实际应用中,单一的检索方法往往难以适应所有需求。

根据沙丘智库发布的《优化RAG系统的4种工程化手段》,实施混合检索策略,为大模型识别出相关上下文,是优化RAG系统的重要方法之一。混合检索策略结合了不同的检索算法,如向量检索、图检索、关键词检索等,通过使用多种检索算法,混合检索策略可以更全面地理解查询的意图和上下文,从而提高检索到信息的相关性和准确性。混合检索还可以将不同类型的数据合并到一个查询中,从而大大提高检索效率并降低计算成本。

以金融行业为例,传统RAG和GraphRAG结合使用可以显著提高洞察的深度和准确性。

在银行场景,传统RAG和GraphRAG的结合可以增强客户关系管理和风险评估。传统RAG可以获取大量的客户数据、交易历史和市场趋势,提供客户行为的全面视图。GraphRAG可以分析客户、账户和交易之间的复杂关系网络,识别潜在的风险和机会。通过二者的结合,可以检测出可能表明欺诈活动的不寻常交易模式,或者通过理解客户之间的相互需求来挖掘交叉销售机会。这种全面的方法使银行能够提供更加个性化的服务,改进风险管理,并最终实现更好的业务成果。

在保险场景,传统RAG和GraphRAG的结合可能将彻底改变理赔处理过程。传统RAG可以有效检索相关保单文件、历史理赔数据和监管政策,而Graph RAG则可以映射出理赔涉及的各种实体(如投保人、医疗机构)之间的关系。通过二者的结合,不仅能够加快理赔流程,还能通过发现隐藏的关系来识别欺诈性理赔行为。

在向量检索中,信息是基于“近似”而非“精确”值检索的,这是向量检索的局限性。如果通过尝试BM25这样的精确搜索算法、改进排名过程或微调embedding模型等方式,都没有显著提高RAG的性能,那么可能值得考虑使用GraphRAG。

但企业需要注意的是,GraphRAG不是万能的。GraphRAG是一种强大的技术,但并不是所有情况下的最佳解决方案。在使用GraphRAG之前,企业应该评估是否真的需要这项技术,尤其是当传统RAG的效果已经还不错的情况下。引入GraphRAG应该有明确的理由,并且最好有事实证据支持。当传统的RAG方法无法满足需求,特别是在需要处理复杂关系和上下文理解的场景中,GraphRAG可能会提供额外的价值。


更多研究:

优化RAG系统的4种工程化手段
阿里云基于RAG的智能问答实践
基于RAG构建生成式AI应用的实践经验
字节跳动答疑机器人场景大模型实践
...


*更多生成式AI研究可前往“沙丘智库”小程序查阅

*有任何需求可咨询客服微信:zimu738




沙丘社区
数字化研究与服务机构
 最新文章