微信扫码
与创始人交个朋友
我要投稿
检索增强生成(Retrieval-Augmented Generation, RAG)已经成为提升大型语言模型(LLMs)能力的重要方法之一,通过整合外部知识,显著改善了生成内容的质量和相关性。
传统的 RAG 系统虽然表现优异,但其局限性也不容忽视:
数据结构扁平化 传统 RAG 系统往往依赖扁平化的数据结构,难以捕捉信息之间的复杂关系。这种缺陷导致生成的答案片段化,缺乏上下文的一致性。
有限的上下文意识 系统在处理需要综合多个数据点的复杂问题时表现不佳,生成的答案缺乏对数据间相互关联的全面理解。
GraphRAG 通过使用 知识图谱 对文本中的实体和关系进行结构化建模,从而能够捕捉信息间的复杂关联。GraphRAG 首先在整个私有数据集上创建实体和关系的引用,随后采用自底向上的聚类方法,将数据层次化地组织为语义簇。然而,当数据集中加入新的知识时,GraphRAG 必须重新执行整个图构建流程。这种方式对于动态更新的数据集来说效率低下且成本高昂。
资源需求高:需要大量 API 调用(通常依赖昂贵的模型如 GPT-4o)。
数据更新昂贵:每次更新数据时,必须重建整个图谱。
相比之下,LightRAG 的增量更新机制大大简化了流程。它通过简单的 联合操作(union operation),将新的图节点和边直接添加到现有图谱中。这种方式避免了重复构建图谱的高昂开销,同时确保知识库实时更新,适应动态数据需求。
LightRAG 的核心卖点在于 基于图的索引 和 双层检索框架。以下是对这两个关键功能的深入解析:
以下是 LightRAG 进行基于图索引的步骤:
实体与关系(ER)提取 实体与关系提取由图中的 R(.) 表示。此步骤确保从给定文档中首先提取简单的实体。例如,在上图的示例中,“蜜蜂”(bees)和“养蜂人”(beekeeper)是两个实体,它们通过“观察”(observe)关系相关联,即养蜂人观察蜜蜂。
使用 LLM 生成键值(KV)对 使用简单的 LLM 生成键值对。LLM 的分析步骤为实体或关系提供了简要的说明或解释。例如,在所选示例中,LLM 解释了“养蜂人”是谁。此步骤在图中由 P(.) 表示。需要注意的是,此 LLM 不同于主 RAG 流程中使用的通用 LLM。
去重 鉴于文档内容与蜜蜂相关,实体“养蜂人”可能从多个文档或文本块中被多次提取。因此,需要一个去重步骤,仅保留一个具有相同含义的实体,丢弃其他重复项。此步骤在图中由 D(.) 表示。
对 RAG 系统的查询可以分为两种类型——具体的或抽象的。在同样的蜜蜂示例中,具体查询可能是:“一个蜂巢中可以有多少只蜂王?” 抽象查询可能是:“气候变化对蜜蜂有哪些影响?” 为了应对这种多样性,LightRAG 采用了两种检索方式:
低层检索:简单地提取精确的实体及其关系,如蜜蜂(bees)、观察(observe)和养蜂人(beekeepers)。
高层检索:通过使用 LLM,LightRAG 聚合信息并总结多个信息来源。
进行这些操作并切换到 LightRAG 的确能改进执行时间。在索引过程中,每个文本块只需调用一次 LLM 来提取实体及其关系。
同样,在用户查询时,仅使用与索引相同的 LLM 从文本块中检索实体和关系。这大大减少了检索的开销,从而降低了计算成本。因此,最终拥有了一个“轻量”的 RAG!
将新知识整合到现有图谱中看起来是一个无缝的操作。与其在有新信息时重新索引整个数据,可以简单地将新知识附加到现有图谱中。
评估中,LightRAG 与 Naive RAG、RQ-RAG、HyDE 和 GraphRAG 进行了比较。为了保持比较的公平性,统一使用了 GPT-4o-mini 作为 LLM,并在所有数据集上采用固定的分块大小(1200)。答案的评估标准包括全面性、多样性以及回答用户问题的有效性。
正如下划线结果所示,LightRAG 超越了当前所有最先进的方法。
总体而言,得出了以下结论:
使用基于图的方法(如 GraphRAG 或 LightRAG)相比基础的 Naive RAG 有显著改进。
LightRAG 通过双层检索范式生成了相当多样化的答案。
LightRAG 能够更好地处理复杂查询。
尽管 RAG 是一种相对较新的技术,但这一领域正在快速发展。像 LightRAG 这样的技术可以将 RAG 流程引入廉价的通用硬件,这是非常受欢迎的。尽管硬件领域不断进步,但始终需要在计算受限的硬件上实时运行 LLM 和 RAG 流程。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-04
如何为RAG应用选择最佳Embedding模型
2024-12-04
Neo4j×Milvus:手把手教你搭建GraphRAG Agent
2024-12-04
别再用PostgreSQL了,Milvus才是多语言RAG的最佳搭档
2024-12-03
RAG系统中的困境:上下文不是想加就能加的
2024-12-03
FastRAG:高效半结构化数据处理新范式,轻松提升检索生成效率
2024-12-03
Gitee AI+Dify 双剑合璧,打造另类 RAG 知识库
2024-12-03
详细的Agentic RAG的前世今生
2024-12-02
微软最新研究:RAG(Retrieval-Augmented Generation)的四个级别深度解析
2024-07-18
2024-05-05
2024-05-19
2024-06-20
2024-07-09
2024-07-09
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-12-01
2024-11-27
2024-11-25
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27