今天分享的是北京邮电大学和香港大学联合发表的一篇文章:图结构数据进行增强的RAG系统——LightRAG
论文题目:LIGHTRAG: SIMPLE AND FAST RETRIEVAL-AUGMENTED GENERATION
论文链接:https://arxiv.org/pdf/2410.05779
代码地址:https://github.com/HKUDS/LightRAG
论文概述
在 RAG 系统中,生成模块的效果基于通用大语言模型的能力,而数据索引和检索对系统的效率和质量是非常重要的。为了改善检索增强生成(RAG)系统,使其能更好地整合外部知识源并提供更精准和上下文相关的回答,捕捉复杂的相互依赖关系,这篇文章提出了一种名为LightRAG 的新框架。LightRAG 通过引入图结构来改进文本索引和检索过程,同时该框架采用了两阶段检索机制,首先在低级层面进行基础信息的检索,然后在高级层面探索更深层次的知识关联,提高了实体及其关系检索的效率。同时LightRAG 具备快速适应新数据的能力,通过动态更新索引和优化图谱,动态适应各种需求。
论文核心
LightRAG基于图进行文本索引能够从图结构中提取多跳信息,增强了RAG系统处理跨越多个文档块的复杂查询的能力,同时LightRAG的增量更新算法减少了计算开销,同时确保了信息的及时更新。
基于图的文本索引
在LightRAG中数据索引涉及以下几个步骤:
- 文档分割:LightRAG系统首先将文档分割为更小、更易管理的部分,从而能够快速定位和访问相关信息,而无需分析整个文档。
- 实体关系提取:利用大型语言模型(LLM)从片段中识别和提取各类实体以及它们之间的关系,这些信息用于构建知识图谱。例如,从“心脏病专家评估症状以识别潜在的心脏问题”这句话中提取出“心脏病专家”和“心脏病”等实体,以及“心脏病专家诊断心脏病”等关系。
- 知识图谱去重:识别并合并来自不同片段的相同实体和关系,最小化图减少冗余信息,实现高效的数据处理。
- LLM增强分析:采用LLM驱动的分析函数为每个实体节点和关系边生成一个文本的键值对。每个索引键是一个单词或短短语,便于高效检索,对应的值是一个文本段落,总结了来自外部数据的相关片段,有助于文本生成。实体使用其名称作为唯一索引键,而关系可能有多个索引键,这些索引键源于LLM增强,包括来自连接实体的全局主题。
- 增量更新算法:为了有效适应不断变化的数据,LightRAG采用增量更新算法。对于新文档,该算法使用与之前相同的基于图的索引步骤进行处理,得到新文档的图结构索引。LightRAG通过取新旧节点集以及新旧边集的并集,将新的图数据与原始数据合并,确保新数据的集成而不破坏原有的图结构。
双层检索算法
在RAG任务中通常存在两种类型的查询:特定查询和抽象查询,特定查询需要精确检索节点和边的信息,而抽象查询通常涉及主题、总结等综述性的查询,而不针对具体实体。为了应对这两种不同的查询请求,LightRAG设计了两种不同的检索策略:
- 低级检索(Low-Level Retrieval):这种检索策略主要聚焦于检索特定实体以及它们相关的属性或关系。查询是细节导向的,旨在从图中提取关于特定节点或边的精确信息。比如在一个包含众多学术论文的知识图中,如果查询某一特定研究人员的某项具体研究成果,低级别检索就会针对该研究人员实体及其相关研究成果的关系进行精确查找。
- 高级检索(High - Level Retrieval):该检索策略旨在处理更广泛的主题和总体主题。这类查询会聚合多个相关实体和关系的信息,提供对更高级别概念和总结的洞察,而不是特定细节。例如,当查询“人工智能在医疗领域的应用趋势”时,高级别检索会综合多个与人工智能和医疗相关的实体及关系信息,给出关于应用趋势的总体概述。
检索步骤:
- 提取关键词:使用大模型从用户查询中提取出全局关键词和局部关键词。
- 检索查询:基于向量数据库,将局部查询关键词与候选实体匹配,将全局关键词与连接到全局关键点的关系进行匹配,这一过程类似于传统RAG,但是专注于检索实体和关系。
- 利用图的高阶连接信息,LightRAG 进一步收集检索到的图元素对应的局部子图中的邻居节点。
论文实验
数据集:从UltraDomain基准中选择了四个数据集,包括Agriculture、CS、Legal、Mix四个领域的数据,每个数据集包含60万到500万个token。
基准实验:Naive RAG、RQ-RAG、HyDE、GraphRAG
实验结果与各种基线模型相比,LightRAG在多样性指标上展现出显著优势,尤其在较大的Legal数据集上表现更为突出。这得益于LightRAG的双层检索范式,它能够从低级别和高级别两个维度全面检索信息,有效利用基于图的文本索引来完整地捕捉查询上下文,从而生成更广泛多样的回答。
消融实验
对 LightRAG 的双层检索机制和语义图进行了消融实验,评估它们对模型性能的影响。实验分别测试了仅使用低级别检索、仅使用高级别检索,以及在检索过程中移除原始文本内容的情况。
- 仅使用低级别检索时,模型性能显著下降。由于过分关注特定实体及其直接关联,模型无法获取更广泛的主题信息,在多个数据集和评估指标上表现不佳。
- 仅使用高级别检索时,模型在获取广泛信息方面有所提升,但在细节处理上有所不足。虽然能够捕获更广泛的主题知识,但缺乏对具体实体细节的深入理解,导致在考察特定细节的指标上表现欠佳。
- 移除原始文本内容后,模型性能未出现显著下降,某些数据集上甚至有所提升。这表明语义图在检索过程中能够有效提取和表示关键信息,即使没有原始文本的支持,模型仍然能够提供准确的检索结果。
模型开销
- 在检索阶段,GraphRAG 需要生成大量社区,并逐一遍历进行检索,导致了高昂的 token 消耗和频繁的API调用,效率较低。相比之下,LightRAG 采用了高效的检索机制,通过整合图结构和向量表示,只需少量 token 即可完成关键词生成和检索,且整个过程仅需一次 API 调用,显著降低了资源消耗和调用频率。
- 在增量数据更新方面,GraphRAG 由于其社区结构的限制,在引入新数据时不得不拆除并重新生成整个社区结构,耗费大量 token 和时间,成本极高。而 LightRAG 凭借其增量更新算法,能够将新数据无缝整合到现有的图结构中,避免了重复构建的开销,大大提高了更新效率。
论文结论
LightRAG通过引入图结构有效的捕捉实体间的多跳关系,对于传统RAG进行改进,同时采用全局检索和局部检索双层检索机制,将图结构和向量表示相结合,即能捕捉到高阶连接信息,又优化了检索算法的计算效率,显著降低了计算时间和资源消耗。LightRAG 的无缝增量更新功能确保系统能够随时响应新信息,保持数据的有效性。
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来
,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。