简单高效的大模型检索增强系统LightRAG,香港大学黄超团队最新研究成果。
开源两周时间在GitHub上获得将近5k标星,并登上趋势榜。
该模型不仅能够全面理解实体之间的复杂关系,从而处理更复杂的问题,还大幅降低了大模型检索增强系统的成本。总体而言,LightRAG具备以下优势:
检索增强生成(RAG)系统通过集成外部知识源来增强大语言模型(LLM),从而提供更准确且符合上下文的响应,满足用户需求。然而,现有的RAG系统存在显著局限性,包括依赖平面数据表示和缺乏全局的上下文感知,导致回答零散,难以捕捉复杂的依赖关系。
为了解决这些问题,团队提出LightRAG,它在文本索引和检索过程中引入了图结构。该创新框架采用双层检索系统,增强了从低层次和高层次知识的全面信息检索。
此外,图结构与向量表示的结合有助于高效地检索相关实体及其复杂的关联关系,大幅提高了响应速度,同时保持上下文的相关性。此外,该系统能够高效地在动态环境里处理数据的更新变化,使其在快速变化的数据环境中仍然保持快速有效的响应能力。
图增强的实体和关系抽取
LightRAG 将文档分段为较小的块,利用大语言模型(LLM)识别和抽取各种实体(如名字、日期、地点和事件)及其之间的关系。通过这一过程收集的信息用于构建一个全面的知识图谱,展示整个文档集合中的连接关系。我们将该图生成模块形式化地表示如下:
其中, 代表生成的知识图。为了创建这些数据,我们对原始文本文档 进行了三个主要的处理步骤,这些步骤利用大语言模型(LLM)进行文本分析和处理:
LightRAG 通过其基于图的文本索引范式具备两个显著优势:
快速适应动态增量知识库
为了高效适应不断变化的数据并确保响应的准确性和相关性,LightRAG 通过增量更新知识库,而无需重新处理整个外部数据库对于新文档 ,增量更新算法使用与之前相同的基于图的索引步骤 进行处理,生成 。随后,通过对节点集 和 以及边集 和 进行并集操作,将新的图数据与原始数据结合起来。
LightRAG 实现的动态增量知识库处理方法旨在满足以下目标:
为了从特定文档片段及其复杂依赖关系中检索相关信息,LightRAG 提出了在详细和抽象层面生成查询键的策略。
为了适应不同类型的查询,LightRAG 在双层检索范式中采用了两种不同的检索策略。该设计确保能够有效处理具体问题,同时应对抽象查询,从而为用户提供量身定制的相关响应。
融合图结构和向量表示以实现高效检索
通过将图结构与向量表示相结合,模型能够更深入地理解实体之间的相互关系。这种协同作用使检索算法能够有效地利用局部和全局关键词,简化搜索过程并提高结果的相关性。
这种双层检索范式不仅通过关键词匹配实现了高效的相关实体和关系检索,还通过结合构建的知识图谱中的相关结构信息,提升了结果的全面性。
利用检索到的信息 ,LightRAG 通过大语言模型(LLM)生成答案。这些数据包括由分析函数 生成的相关实体和关系 ,其中包含实体和关系的名称、描述以及原始文本中的摘录。
上下文整合与答案生成
通过将查询与多源文本统一,LLM 生成符合用户需求的答案,确保与查询意图一致。该方法通过将上下文和查询整合到 LLM 模型中,简化了答案生成的过程。
团队对提出的 LightRAG 框架的复杂度进行了具体分析,主要分为两个部分。
为了对 LightRAG 进行全面分析,团队从 UltraDomain Benchmark中选择了四个数据集。UltraDomain 数据来源于 428 本大学教科书,涵盖 18 个不同领域,包括农业、社会科学和人文学科。在这些领域中,团队选择了农业、计算机科学、法律和混合领域的数据集。每个数据集包含 60 万到 500 万之间的 tokens。以下是实验中使用的四个领域的具体介绍:
为了评估 RAG 系统在高层次意义建构任务中的有效性,团队将每个数据集的所有文本内容整合为上下文,并采用 GraphRAG 中描述的生成方法。具体而言,团队指示 LLM 生成五个 RAG 用户,每个用户提出五个任务。每个生成的用户都附有描述,说明其专业知识及提出问题的动机。同时,每个用户任务也有相应的描述,强调用户在使用 RAG 系统时的潜在意图。对于每个用户任务组合,LLM 会生成五个需要理解整个语料库的问题。最终,每个数据集生成 125 个问题。
LightRAG在所有数据集上与以下最新方法进行了比较:
为复杂高层次语义查询定义准确的“真实答案”是一项极具挑战性的任务。为了解决这一问题,团队基于现有的 GraphRAG 工作,采用了基于 LLM 的多维比较方法。团队使用 GPT-4o-mini 对每个基线模型与团队的 LightRAG 进行一对一比较,总共设定了四个评估维度,包括:
LLM 直接比较每个维度中的两个答案,并选择每个标准的优胜答案。在确定三个维度的优胜答案后,LLM 将这些结果组合起来,以确定整体表现更好的答案。为了确保评估的公平性,并减少由于答案在提示中呈现顺序可能产生的偏差,团队交替调整每个答案的位置,并根据此计算胜率,最终得出结果。
根据表中评估结果,团队得出以下结论:
团队还进行了消融研究,以评估双层检索范式的影响以及LightRAG中基于图的文本索引的有效性。结果如表所示。
双层检索范式的有效性
团队首先分析了低层次和高层次检索范式的效果,比较了两种消融模型(分别去掉一个模块)与完整的 LightRAG 在四个数据集上的表现。以下是团队对不同变体的主要观察结果:
构建语义图在RAG中的优势
团队在检索过程中去掉了对原始文本的使用。令人意外的是,结果显示的变体 -Origin 在所有四个数据集上并没有显著的性能下降。在某些情况下,这一变体甚至表现出提升(例如在农业和混合数据集中)。团队将这一现象归因于基于图的索引过程有效地提取了关键信息,提供了足够的上下文来回答查询。此外,原始文本往往包含无关信息,这可能在响应中引入噪音。
团队从两个关键角度比较了 LightRAG 与表现最优的对比方法GraphRAG的成本。首先,团队考察了在索引和检索过程中使用的 tokens 数量和 API 调用次数。其次,团队分析了这些指标在处理动态环境中的数据变化时的表现。法律数据集上的评估结果如表所示。在此背景下, 代表实体和关系抽取的 token 开销,表示每次 API 调用允许的最大 token 数量,而 则代表抽取所需的 API 调用次数。
本研究通过引入基于图的索引方法,对检索增强生成(RAG)进行了改进,从而提升了信息检索的效率和理解能力。LightRAG 利用全面的知识图,促进快速且相关的文档检索,帮助用户更深入地理解复杂查询。其双层检索范式能够提取具体和抽象的信息,以满足多样化的用户需求。此外,LightRAG 的无缝增量更新功能确保系统能够随时响应新信息,保持长期的有效性。总体而言,LightRAG 在效率和效能上表现卓越,显著提升了信息检索和生成的速度与质量,同时大幅度降低了基于LLM检索生成成本。
项目链接:https://github.com/HKUDS/LightRAG
港大数据智能实验室:https://sites.google.com/view/chaoh/group-join-us
文章来自于微信公众号“量子位”,作者“港大黄超团队”
【开源免费】FASTGPT是基于LLM的知识库开源项目,提供开箱即用的数据处理、模型调用等能力。整体功能和“Dify”“RAGFlow”项目类似。很多接入微信,飞书的AI项目都基于该项目二次开发。
项目地址:https://github.com/labring/FastGPT
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。
在线使用:https://ffa.chat/