Lightrag: 一个将基于图的文本索引范式与双级检索框架无缝集成的模型
i) 综合信息检索:确保全面的信息检索,从所有文档中捕获相互依赖的实体的完整上下文; ii) 提高检索效率:提高基于图的知识结构的检索效率,以显著缩短响应时间; iii) 快速适应新数据:能够快速适应新的数据更新,确保系统在动态环境中保持相关性
- Extracting Entities and Relationships. R(·):此函数提示 LLM 识别文本数据中的实体(节点)及其关系(边缘),为了提高效率,原始文本 D 被分割成多个块 Di。
- 用于生成键值对的 LLM 分析。P(·):使用 LLM 授权的分析函数 P(·),为 V 中的每个实体节点和 𝝴中的关系边生成一个文本键值对 (K, V)。每个索引键都是一个单词或短语,可实现高效检索,而相应的值是一个文本段落,其中汇总了外部数据中的相关片段,以帮助生成文本。
- 删除以优化图形操作。D(·):最后,实现了一个重复数据删除函数 D(·),它识别并合并来自原始文本 Di 不同片段的相同实体和关系。
通过其基于图形的文本索引范式提供了两个优势:
- 全面的信息理解。构建的图形结构支持从多节点子图中提取全局信息,从而大大增强了 LightRAG 处理跨多个文档块的复杂查询的能力。
- 增强的检索性能。从图形派生的键值数据结构经过优化,可实现快速、精确的检索。
快速适应增量知识库的方法:
- 无缝集成新数据:通过对新信息应用一致的方法,增量更新模块允许 LightRAG 集成新的外部数据库,而不会破坏现有的图形结构。这种方法保留了已建立连接的完整性,确保历史数据仍然可访问,同时丰富了图形,而不会发生冲突或冗余。
- 减少计算开销 :通过消除重新构建整个索引图的需要,这种方法减少了计算开销并促进了新数据的快速同化。因此,LightRAG 保持系统准确性,提供最新信息并节省资源,确保用户及时收到更新并提高 RAG 的整体有效性。
-
特定查询。这些查询是面向细节的,通常引用图中的特定实体,需要精确检索与特定节点或边缘相关的信息。
-
抽象查询。相比之下,抽象查询更具概念性,包含更广泛的主题、摘要或与特定实体没有直接关联的总体主题。
为了适应不同的查询类型,LightRAG 在双级检索范式中采用了两种不同的检索策略。
- 低级检索。此级别主要侧重于检索特定实体及其关联的属性或关系。此级别的查询以细节为导向,旨在提取有关图形中特定节点或边缘的精确信息。
- 高级检索。此级别涉及更广泛的主题和总体主题。此级别的查询聚合多个相关实体和关系中的信息,从而提供对更高级别概念和摘要的见解,而不是特定详细信息。
- 查询关键字提取。对于给定的查询 q,LightRAG 的检索算法首先提取本地查询关键字和全局查询关键字。
- 关键字匹配:该算法使用高效的向量数据库将本地查询关键字与候选实体匹配,并将全局查询关键字与链接到全局键的关系进行匹配。
- 纳入高阶相关性。为了增强具有更高阶相关性的查询,LightRAG在检索到的图形元素的局部子图中收集相邻节点。
检索到的信息的利用率:利用检索到的信息 ψ(q;Dˆ),LightRAG 采用通用 LLM 根据收集的数据生成答案。此数据包含来自相关实体和关系的串联值 V,由分析函数 P(·) 生成。它包括名称、实体和关系的描述以及原始文本的摘录。 上下文集成和答案生成:通过将查询与此多源文本统一起来,LLM 会生成根据用户需求量身定制的信息丰富的答案,确保与查询的意图保持一致。