LightRAG:降低 GraphRAG 落地门槛的轻量级检索增强生成框架
背景与问题
现有的检索增强生成(RAG)系统在实际应用中存在显著的局限性。传统的 RAG 主要依赖于平面数据表示(如向量数据库中的文本块),缺乏足够的上下文感知能力。这种扁平化的检索方式往往导致答案碎片化,无法有效捕捉文档中复杂的相互依赖关系和多跳推理需求。当用户查询涉及实体间的深层关联时,基于纯向量的检索容易丢失关键的结构化信息。
为了解决这些挑战,业界提出了 LightRAG。这是一个创新的框架,它将图结构整合到文本索引和检索过程中。LightRAG 旨在保留图检索增强生成的优势同时,大幅降低其计算复杂度和部署门槛。该框架采用了双层检索系统,从低层次(局部)和高层次(全局)的知识发现中增强了全面信息检索能力,显著提高了响应时间,同时保持了上下文的相关性。
LightRAG 架构详解
LightRAG 的核心在于构建一个轻量级的知识图谱,并将其与向量检索相结合。整体架构流程可以分为图基文本索引、双层检索范式以及检索增强答案生成三个主要阶段。
1. 图基文本索引(Graph-Based Text Indexing)
在索引阶段,LightRAG 利用大型语言模型(LLM)将非结构化文本转化为结构化的图数据。
-
步骤 1:实体和关系提取 使用 LLM 对文档进行分析,识别出文本中的关键实体(如人名、地点、组织、概念等)以及它们之间的关系(如'属于'、'位于'、'影响'等)。为了提高处理效率,文档首先会被分割成多个小块(chunks)。
-
步骤 2:LLM Profiling 生成键值对 对于每个识别出的实体和关系,使用 LLM 生成一个键值对(key-value pair)。其中键(key)是一个或多个关键词,用于快速索引;值(value)是与实体或关系相关的详细文本段落描述。这一步骤确保了图节点不仅包含标识符,还包含丰富的语义信息。
-
步骤 3:去重优化 通过去重(Deduplication)过程,合并来自不同文档块中的相同实体和关系。这减少了图操作的开销,避免了冗余数据的存储,使知识图谱更加紧凑高效。
2. 双层检索范式(Dual-Level Retrieval Paradigm)
LightRAG 引入了独特的双层检索机制,以平衡检索的全面性和精确性。
-
步骤 4:生成查询关键词 对于给定的用户查询,系统会提取局部(low-level)和全局(high-level)关键词。局部关键词关注具体的实体匹配,而全局关键词则捕捉查询的整体意图和宏观主题。
-
步骤 5:关键词匹配 使用向量数据库分别匹配局部关键词与候选实体,以及全局关键词与全局关键词关联的关系。这种混合匹配策略能够同时定位细粒度的信息和宏观的上下文。
-
步骤 6:整合高阶相关性 为了增强查询的相关性,LightRAG 会收集检索到的图元素的邻接节点。这涉及到检索节点和边的一跳邻接节点(即直接相连的实体),从而获取更丰富的上下文信息,支持多跳推理。
3. 检索增强答案生成
-
步骤 7:使用检索到的信息 利用检索到的信息(包括实体和关系的值),通过通用的 LLM 生成初步答案。此时输入给 LLM 的数据已经过结构化处理,包含实体、关系和相应的文本块。
-
步骤 8:上下文整合与答案生成 将用户查询与多源文本合并,LLM 生成符合查询意图的信息性答案。由于输入包含了图结构提供的逻辑关系,生成的回答通常比传统 RAG 更具连贯性和准确性。
4. 增量知识库的快速适应
-
步骤 9:增量更新知识库 当有新文档加入时,使用与之前相同的图基索引步骤处理新文档,生成新的知识图谱数据。然后将新知识图谱数据与原有知识图谱合并,实现新数据的无缝整合。
-
步骤 10:减少计算开销 避免重建整个索引图,仅针对新增部分进行索引和合并,大大减少了计算开销,实现新数据的快速整合。这使得 LightRAG 非常适合动态变化的数据环境。


