LightRAG - 更快更廉价的GraphRAG
检索增强生成(Retrieval-Augmented Generation, RAG)已经成为提高大型言语模型(LLMs)才能的重要办法之一,经过整合外部常识,明显改善了生成内容的质量和相关性。
RAG 的局限性
传统的 RAG 体系虽然体现优异,但其局限性也不容忽视:
- 数据结构扁平化
传统 RAG 体系往往依靠扁平化的数据结构,难以捕捉信息之间的杂乱联系。这种缺点导致生成的答案片段化,缺少上下文的一致性。 - 有限的上下文认识
体系在处理需求归纳多个数据点的杂乱问题时体现欠安,生成的答案缺少对数据间彼此相关的全面了解。
GraphRAG的局限性
GraphRAG 经过运用** 常识图谱** 对文本中的实体和联系进行结构化建模,然后能够捕捉信息间的杂乱相关。GraphRAG 首要在整个私有数据集上创立实体和联系的引证,随后选用自底向上的聚类办法,将数据层次化地安排为语义簇。
但是,当数据会集参加新的常识时,GraphRAG 有必要从头履行整个图构建流程。这种办法关于动态更新的数据集来说功率低下且本钱昂扬。
- 资源需求高:需求很多 API 调用(一般依靠贵重的模型如 GPT-4o)。
- 数据更新贵重:每次更新数据时,有必要重建整个图谱。
LightRAG的立异点
比较之下,LightRAG 的增量更新机制大大简化了流程。它经过简略的 联合操作(union operation),将新的图节点和边直接添加到现有图谱中。这种办法避免了重复构建图谱的昂扬开支,一起保证常识库实时更新,习惯动态数据需求。
LightRAG
LightRAG 的中心卖点在于 根据图的索引 和 双层检索结构。以下是对这两个要害功用的深化解析:
Graph-based Indexing
以下是 LightRAG 进行根据图索引的过程:
-
实体与联系(ER)提取
实体与联系提取由图中的 R(.) 表明。此过程保证从给定文档中首要提取简略的实体。例如,在上图的示例中,“蜜蜂”(bees)和“养蜂人”(beekeeper)是两个实体,它们经过“调查”(observe)联系相相关,即养蜂人调查蜜蜂。 -
运用 LLM 生成键值(KV)对
运用简略的 LLM 生成键值对。LLM 的剖析过程为实体或联系供给了扼要的阐明或解说。例如,在所选示例中,LLM 解说了“养蜂人”是谁。此过程在图中由 P(.) 表明。需求留意的是,此 LLM 不同于主 RAG 流程中运用的通用 LLM。 -
去重
鉴于文档内容与蜜蜂相关,实体“养蜂人”可能从多个文档或文本块中被屡次提取。因而,需求一个去重过程,仅保存一个具有相同含义的实体,丢掉其他重复项。此过程在图中由 D(.) 表明。
Dual-level Retrieval
对 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 流程。
本文由博客一文多发渠道 OpenWrite 发布!