【无标题】

RAPTOR:递归摘要与树形检索的结合,提升RAG检索性能

随着 LLM 技术的发展,RAG 的价值也来越明显,可以视作 LLM 应用、落地的一个主要方向。RAG通过结合检索系统和生成模型,在生成回答时先从外部知识库种检索相关信息,辅助 LLM 进行更准确的生成。知识的粒度是多样的、零散的。如何从知识库中精准地检索到相关的知识片段是一个极具挑战性地问题。

概述

在目前构建 RAG 系统的流程中,基本都会涉及到对文档进行分块(有没有不需要进行分块的方法呢?)。现行的方式主要是通过滑动窗口进行分块,调一调分块的大小等。私以为,如何进行分块是一个很重要的问题。

目前检索增强的方法中的一个主要缺点,也是论文主要想解决的问题:检索到的主要是一些短的、连续的块。对于需要阅读整个文档才能回答的问题,检索到的块是不能包含足够的信息的。

论文的出发点很好,也是现在很多 RAG 系统的关键问题。分块的大小、如何分块是一个依赖于用户输入的问题。有些查询,只需要某个、某些块就可以回答,或者只需要块中的某句话就可以回答。而且,文本一般是涵盖多个主题的 ,并且具有层次化的结构

且看作者的解决方法 ------ 作者设计了一个树结构的索引和检索系统 RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval),捕捉文本的多尺度,不同层次的信息。通过对文本块进行总结,向 LLM 提供不同层次的信息。

RAPTOR方法介绍

RAPTOR 在文本块的基础上,构建了一个递归的树结构,树中的节点标识不同粒度的语义信息。

基本流程:

  • 分块与嵌入。
    • 按 100 的大小对文本进行分块,如果一个句子长度超过 100,则直接将句子作为一个文本块,保证块内语义的一致性。(如何断句也很重要!)
    • 对文本块进行 embedding。
  • 递归的构建 RAPTOR 树。文本块及其 embedding 作为树的叶子节点。
    • 通过聚类把相似的块聚在一起。
    • 利用语言模型为簇内的文本生成总结,并为总结生成 embedding,也作为树的一个节点。
    • 递归执行上述过程。
  • 查询。即如何检索相关的块。文中提供了两种策略:
    • Tree Traversal Retrieval。遍历树的每一层,剪枝并选择最相关的节点。
    • Collapsed Tree Retrieval。评估整个树中每个节点的相关性,找到最相关的几个。

RAPTOR 树构建流程:

RAPTOR 树的两种查询策略:

整个流程很简洁,方法也很直观。其中比较重要的环节不言而喻:聚类。

文中选择了软聚类的方式:每个节点可以从属于多个簇。直接上来看,如果簇作为话题,那么每个文本块并不是只属于每个话题的,选择软聚类也是很直观的。文中的聚类算法是基于 GMM 聚类的,且聚类前通过 UMAP(Uniform Manifold Approximation and Projection ) 对文本表征进行了降维。论文对聚类的过程进行了一些改造,并通过 BIC(Bayesian Information Criterion)来选择最优簇数,一些细节可以参考原文。

总结

我认为,论文想解决的问题是很关键的,也是构建 RAG 系统中一个必须要考虑的问题。论文的思路很直观,和笔者在相关的实践中可以说是不谋而合。对于一个查询,在不考虑性能和其他问题的条件下,最理想的块应该是文本中与查询最相关的那段话、几句话甚至一句话(这就有点像抽取式的文本摘要了)。 如何找到能够恰好包含答案的文本块是一个很有挑战性的工作,期待找到更好的方案。


相关推荐
余俊晖2 小时前
一套针对金融领域多模态问答的自适应多层级RAG框架-VeritasFi
人工智能·金融·rag
AI大模型4 小时前
别再瞎学大模型了,这份GitHub神级课程火爆全网(附GitHub 仓库)
程序员·llm·agent
viperrrrrrrrrr76 小时前
Agent向量存储中的记忆衰退与记忆过载解决方案
langchain·大模型·agent·rag
安替-AnTi13 小时前
PandaWiki:AI 驱动的开源知识库系
人工智能·embedding·检索增强·知识库·rag·查询优化
强哥之神16 小时前
从零理解 KV Cache:大语言模型推理加速的核心机制
人工智能·深度学习·机器学习·语言模型·llm·kvcache
数据智能老司机16 小时前
使用 OpenAI Agents SDK 构建智能体——记忆与知识
llm·openai·agent
数据智能老司机16 小时前
使用 OpenAI Agents SDK 构建智能体——代理工具与 MCP
llm·openai·agent
风生水气1 天前
vllm部署实践:windows单显卡上部署qwen模型
llm
智泊AI1 天前
AI大模型入门篇 | 完全0基础也能看得懂!轻松入坑AI大模型!
llm
大模型教程1 天前
大模型AI Agent 小白科研路线规划:从入门到精通!(含Agent学习资源)
程序员·llm·agent