一、现状问题、解决方法
现状问题:
分块处理在促进检索增强生成过程中起着至关重要的作用(Lyu et al., 2024),分块可以显著提高信息检索的准确性。
但是RAG系统还有其他的问题限制他们的能力:
1.很多方法是用二维向量表示数据的,这就限制了理解和检索基于实体之间复杂关系的信息的能力。
2.这些系统通常缺乏上下文的意思,不能保持不同实体及其相互关系之间的一致性,导致无法完全解决用户的查询。
解决方法:
将图结构结合到文本索引金额相关信息检索中。
图:表示不同实体之间的相互依赖关系方面很有效,可以将来自多个源的信息合成连贯且丰富的上下文。
实现这个RAG:
1.综合信息检索:从所有的文档中捕获相互依存实体的完整上下文。
2.提高检索效率:提高基于图的知识结构的检索效率。
3.快速适应新环境:在数据更新的时候,确保系统能保持相关性。
LightRAG:采用高效的双层检索策略:
低级检索,侧重于关于特定实体及其关系的精确信息;
高级检索,涵盖更广泛的主题和主题。
通过将图结构与向量表示相结合,我们的框架促进了相关实体和关系的有效检索,
同时通过构建的知识图谱中的相关结构信息增强了结果的全面性。
二、LightRAG的架构
1.基于图的索引
提取实体和关系:
首先,将文档分割成更小的部分,
然后利用LLM识别和提取实体和关系。将提取的信息创建一个全面的知识图谱,展现出整个分块的联系和关系。
具体表达:
1.提取实体和关系:使用R(.)函数提取文档的实体和关系,为了提高效率,把文档分成多个分块。Di(.)
2.大语言模型(LLM)配置用于生成键值对:P(.)这个函数是基于LLM的,用这个函数,为生成的实体和边分别生成键,和值,其中对于实体的键就是实体的名称是唯一的键,而关系的键是有多个,来自LLM的生成,包括来自连接实体的全局主题。对于值,就是LLM对于键的外部数据的总结,就是对关系和实体的描述。
3.去重:D(.)用来合并相同的实体和关系
整体的图普生成:
图谱索引的框架
基于图形的文本索引范式提供了两个优势:
1.建的图结构支持从多跳子图中提取全局信息,极大地增强了LightRAG处理跨越多个文档块的复杂查询的能力
2.增强检索性能。从图中导出的键值数据结构进行了优化,以便快速准确地检索。
快速适应增量知识库
为了有效地适应不断变化的数据变化,同时确保准确和相关的响应,LightRAG是逐步更新数据库,而不用对整个外部数据库进行完整的从新处理。
具体的做法:就是对于新的文档,先进行上述的步骤构建图谱,然后与现在的图谱进行取并集,进行整合。
快速适应增量知识库的目标:
1.使用一致的方法处理新增数据,在不破坏现有图形结构的情况下集成新的外部数据库。
2.减少计算的开销。
2. 双层次检索范式
把用户的查询分为细节查询、和抽象查询:
细节查询:通常引用图中的特定实体,需要精确检索与特定节点或边相关的信息
抽象查询:抽象查询更概念化,包含更广泛的主题、摘要或不直接与特定实体关联的总体主题
为了适应这两个查询,采用了双级检索范式: 确保了具体的和抽象的查询都能得到有效的处理
低级查询(细节):旨在提取图中特定节点或边的精确信息
高级查询(抽象): 此级别的查询聚合跨多个相关实体和关系的信息,提供对更高级别概念和摘要的洞察
集成图与向量的高效检索:
这种结合方式使得检索算法可以有效地同时利用局部关键词和全局关键词,从而简化搜索过程,并提高检索结果的相关性。同时考虑局部信息(如某个节点的直接邻居)和全局信息(如整个图的结构),从而提高检索结果的准确性和相关性。
检索过程:
提取查询关键字:给定的查询q,提取它的局部关键字和全局关键字
关键字匹配:这个匹配算法使用高效的向量数据库,对于局部关键字,算法会通过向量数据库查找与这些关键词相关的具体实体。
对于全局关键字算法会通过向量数据库找到与这些关键词相关的更广泛的关系或概念。这些关系通常是实体之间的连接
进阶相关性查询:LightRAG 不仅仅考虑与查询相关的直接节点和边,还会进一步收集与这些节点和边相邻的其他节点,以增强查询的上下文关系。这样可以捕捉到更复杂和更深层的关联性,从而提高检索结果的准确性和全面性。
3.生成
检索信息的利用:
然后,LLM利用检索到的信息进行答案生成,检索到的信息:由相关的实体和关系的串联值V组成由分析函数P(·)产生。它包括名称、实体和关系的描述,以及原始文本的摘录。
上下文整合和答案生成:
这种方法通过将上下文和查询集成到大型语言模型模型中来简化答案生成过程
双层检索和生成框架
整体框架
三、实验
1.实验的设置
数据集:
选择了农业、CS、法律和混合数据集(多个学科的混合)
数据的信息:
问题生成:
为了评估RAG系统对高级语义生成任务的有效性,们将每个数据集的所有文本内容合并为上下文,然后生成。
具体来说,指示大型语言模型生成五个RAG用户,以及每个用户的五个任务。
1.每个生成的用户都附有文本描述,详细说明了他们的专业知识和特征,从而激发了他们提出问题的活动。
2.还描述了每个用户任务,强调用户在与RAG系统交互时的潜在意图之一。
3.对于每个用户-任务组合,大型语言模型生成五个需要理解整个语料库的问题。