LightRAG:一种结合图结构与向量索引的高效 RAG 框架
引言
现有的检索增强生成(Retrieval-Augmented Generation, RAG)系统在实际应用中存在显著的局限性。传统的 RAG 系统通常依赖于扁平的数据表示方式,将文档切割成固定的块(Chunks),这导致在处理复杂查询时缺乏上下文感知能力。这种碎片化的信息表示难以捕捉实体间复杂的相互依赖关系,往往导致生成的答案不够全面或出现幻觉。
为了解决这些问题,我们提出了 LightRAG,这是一种改进的检索增强生成系统。LightRAG 旨在通过结合图结构和文本索引来克服现有 RAG 系统的局限性。它利用双层检索机制与向量表示相结合,以提高信息检索能力、加快响应速度并维持上下文相关性。此外,通过增量更新算法支持数据的实时整合。实验显示,LightRAG 在准确性和效率上超越了现有方法,并已开源发布。

相关研究背景
研究问题:如何增强大型语言模型(LLMs)的信息检索和生成能力,特别是通过集成外部知识源来提供更准确和上下文相关的响应。
研究内容:LightRAG 的框架通过在文本索引和检索过程中引入图结构,增强了从低级和高级知识发现中获取的综合信息检索能力。此外,通过增量更新算法确保新数据的及时集成,使系统能够在快速变化的数据环境中保持有效性和响应性。
研究难点:现有 RAG 系统依赖于平面数据表示,缺乏对实体间复杂关系的理解;这些系统通常缺乏上下文感知能力,导致响应可能无法完全解决用户查询。
核心架构设计
1. 基于图的文本索引
LightRAG 的核心创新在于其文本索引方式。首先,LightRAG 通过将文档分割成更小的片段,利用大语言模型识别和提取各种实体及其关系,生成一个全面的知识图谱。该过程包括实体和关系的提取、LLM 配置的键值对生成以及去重优化。
具体而言,对于每个文档片段,系统会调用 LLM 进行语义分析,识别出关键实体(如人名、地名、组织名等)以及它们之间的语义关系(如'位于'、'创始人'、'属于'等)。每个实体和关系被赋予一个键值对,键是用于快速检索的词或短语,值是从外部数据中提取的相关文本段落。随后,系统执行去重操作,去除重复的实体和关系,以优化图操作效率。
这一过程可以形式化地描述为: $$ G = (V, E) $$ 其中,$G$ 表示生成的知识图,$V$ 和 $E$ 分别表示节点和边的集合。实体和关系的识别函数由 LLM 分析生成的键值对决定,去重操作则确保了图谱的紧凑性。
通过这种方式,LightRAG 能够捕捉到多跳子图中的全局信息,从而在大规模语料库中更有效地理解和处理复杂查询。这种方法不仅提高了检索的效率,还增强了系统的理解能力,使得模型能够回答需要跨段落推理的问题。
2. 双层检索范式
其次,LightRAG 采用双层检索策略,包括低级检索和高级检索。这种设计旨在平衡精确性与覆盖范围。
- 低级检索:关注特定实体的详细信息。这种检索方式适用于需要精确信息的查询,例如查询某个特定人物的主要成就或某个具体产品的参数。它直接定位到知识图谱中的具体节点。
- 高级检索:关注更广泛的主题和概念。这种检索方式适用于需要综合信息的查询,例如查询人工智能对现代教育的影响。它通过向量匹配找到相关的主题簇。
通过结合这两种检索方式,LightRAG 能够有效应对各种查询类型。具体步骤包括:从查询中提取局部和全局关键词,使用向量数据库进行初步匹配,并收集局部子图中的邻近节点以增强查询的高阶相关性。这种混合检索机制确保了既不会遗漏细节,也不会丢失宏观视角。
3. 图结构与向量表示的集成
此外,LightRAG 通过将图结构与向量表示相结合,实现了高效的相关实体和关系检索。传统的向量检索虽然速度快,但缺乏结构化约束;而纯图检索虽然逻辑严密,但在大规模数据下构建成本高。LightRAG 的集成方案利用了向量数据库的快速召回能力,同时利用图结构进行二次验证和扩展。
具体实现中,系统首先将文本片段转化为向量嵌入,存入向量数据库。当查询到来时,先进行向量相似度搜索,获取候选集。然后,利用知识图谱的结构信息,在候选集对应的节点周围进行遍历,挖掘潜在的关联信息。这种'向量粗排 + 图精排'的模式显著提升了检索的准确率。
4. 检索增强答案生成
最后,利用检索到的信息生成回答。LightRAG 通过统一查询和多源文本,确保生成的回答与用户需求一致。系统将检索到的图路径信息和向量文本块拼接后输入给生成模型,引导模型基于事实依据进行回答,减少幻觉的产生。

