输入“/”快速插入内容

首篇GraphRAG综述出炉!

2024年9月2日修改
作者:猕猴桃 | 探索AGI
嘿,大家好!这里是一个专注于AI智能体的频道!
GraphRAG在国内爆火也没多久,这么快就出综述了,大神们的键盘得敲出火花了。
Graph Retrieval-Augmented Generation: A Survey
最近,检索增强生成 (RAG) 在解决大型语言模型 (LLM) 的挑战方面取得了显著的成功,而无需重新训练。通过引用外部知识库,RAG 优化了 LLM 输出,有效缓解了“幻觉”、缺乏特定领域知识和过时信息等问题。然而,数据库中不同实体之间关系的复杂结构给RAG系统带来了挑战。作为回应,GraphRAG 利用跨实体的结构信息来实现更精确、更全面的检索,捕获关系知识并促进更准确、上下文感知的响应。鉴于 GraphRAG 的新颖性和潜力,对当前技术进行系统回顾势在必行。本文首次全面概述了 GraphRAG 方法。 我们将 GraphRAG 工作流程正式化,包括基于Graph的索引、Graph-guided的检索和GraphRAG。然后,我们概述了每个阶段的核心技术和训练方法。此外,我们还研究了 GraphRAG 的下游任务、应用领域、评估方法和工业用例。 最后,我们探讨了未来的研究方向,以激发进一步的探究并推动该领域的进展。
大模型LLM虽然非常非常的厉害,但是有时候也会犯迷糊,比如它们可能会编造一些不存在的信息,这就是所谓的“幻觉”问题。而且,它们可能对某些专业领域不够了解,或者用到的信息不够新。为了解决这些问题,研究者们提出了一种新方法,叫做检索增强生成(RAG)。这个方法通过在生成过程中加入一个检索组件,可以让模型在回答问题时,先去一个巨大的文本库里面找相关信息,然后再结合这些信息给出答案。这样一来,不仅答案的内容更丰富,而且准确性也更高。
但是,这个方法也有它的局限性。比如,它可能没有很好地利用数据库里不同实体之间复杂的关系。于是,图检索增强生成(GraphRAG)就应运而生了。GraphRAG利用了实体之间的结构信息,让检索过程更精确,更全面。
那GraphRAG到底是怎么一回事?想象一下,你有一个问题,但是要回答这个问题需要很多相关的信息。GraphRAG就像是一个超级助手,它首先会在一个图数据库里找到所有相关的信息,然后帮你整理好,最后用这些信息来回答你的问题。
这个过程可以分为三个阶段:首先是Graph-Based Indexing,就是建立和组织图数据库,让信息可以快速被检索到。接着是Graph-Guided Retrieval,这一阶段GraphRAG会根据你的问题,从图数据库中找到最相关的信息。最后是Graph-Enhanced Generation) ,这一阶段就是用找到的信息来生成答案。
Graph-Based Indexing
GraphRAG的工作中,首先,它得有个强大的“大脑”,也就是图数据库。想象一下,你要在一个巨大的图书馆里找到一本书,如果没有好的目录和索引,那得找到猴年马月去。图索引就是这个图书馆的目录,帮GraphRAG快速定位信息。
图数据的来源有public和private 2种,就像是选书一样,我们得决定是去学校图书馆借书,还是自己买书建个私人图书馆。在这里,“公共图书馆”就是开放的知识图谱,比如维基百科、百度百科这些,大家都能用。而“私人图书馆”则是自己构建的图数据,可能针对特定领域,比如医学、法律这些。
有了图数据之后,我们得给这些数据建立索引。这里提到了三种主要的索引方法:图索引、文本索引和向量索引。
图索引就是保留图的全部结构,这样任何时候你都能快速找到节点和它的邻居节点。
文本索引则是把图数据转换成文本描述,就像是给每本书写个简介,然后用文本检索技术来找信息。
向量索引则是把图数据转换成向量,这样可以用一些高效的算法来快速检索。
这些索引方法各有优点,实际应用中通常会混合使用,就像是图书馆里既有目录,也有电子检索系统,还有图书推荐系统一样。
Graph-Guided Retrieval
在确定图数据和索引之后,那下一步就是怎么找到我们需要的信息吗?