跳到主要内容
版本: DEV

启用 RAPTOR

一种用于长上下文知识检索和摘要的递归抽象方法,旨在平衡广泛的语义理解与细粒度的细节。


RAPTOR(Recursive Abstractive Processing for Tree Organized Retrieval,树状组织检索的递归抽象处理)是一种在 2024 年的一篇论文 中介绍的增强型文档预处理技术。RAPTOR 旨在解决多跳问答问题,通过对文档块进行递归聚类和摘要,构建分层树状结构。这使得在长文档中能够进行更具上下文意识的检索。RAGFlow v0.6.0 将 RAPTOR 集成为其数据预处理流程的一部分,位于数据提取和索引之间,用于文档聚类,如下图所示。

document_clustering

我们对这种新方法进行的测试表明,在需要复杂多步推理的问答任务中,它能达到最先进(SOTA)的结果。通过将 RAPTOR 检索与我们内置的块划分方法和/或其他检索增强生成(RAG)方法相结合,您可以进一步提高问答的准确性。

警告

启用 RAPTOR 需要大量的内存、计算资源和 tokens。

基本原理

原始文档被划分为块后,会根据语义相似性而不是其在文本中的原始顺序进行聚类。然后,集群将由系统的默认聊天模型摘要成更高级别的块。这个过程是递归应用的,从下往上形成一个具有不同摘要级别的树状结构。如下图所示,初始块形成叶节点(蓝色所示),并被递归摘要成根节点(橙色所示)。

raptor

递归聚类和摘要不仅能捕获广泛的理解(通过根节点),还能捕获多跳问答所需的细粒度细节(通过叶节点)。

应用场景

对于涉及复杂多步推理的多跳问答任务,问题与答案之间通常存在语义鸿沟。因此,使用问题进行搜索往往无法检索到有助于正确答案的相关块。RAPTOR 通过向聊天模型提供更丰富、更具上下文意识和更相关的块进行摘要来解决这一挑战,从而实现整体理解而不丢失粒度细节。

注意

知识图谱也可用于多跳问答任务。详情请参见 构建知识图谱。您可以选择使用其中一种方法或两者结合,但请确保您了解相关的内存、计算和 token 成本。

先决条件

系统的默认聊天模型用于摘要聚类内容。在继续之前,请确保您已正确配置了聊天模型

Image

配置项

RAPTOR 功能默认是禁用的。要启用它,请在您的知识库的 配置 页面上手动打开 使用 RAPTOR 增强检索 的开关。

提示词

以下提示词将递归应用于集群摘要,其中 {cluster_content} 作为内部参数。我们建议您目前保持原样。后续设计会进行更新。

Please summarize the following paragraphs... Paragraphs as following:
{cluster_content}
The above is the content you need to summarize.

最大 tokens

每个生成的摘要块的最大 token 数。默认为 256,最大限制为 2048。

阈值

在 RAPTOR 中,块按其语义相似性进行聚类。阈值 参数设置了块分组所需的最低相似性。

默认为 0.1,最大限制为 1。阈值 越高,每个集群中的块越少,反之越多。

最大集群数

创建的最大集群数。默认为 64,最大限制为 1024。

随机种子

一个随机种子。点击 + 更改种子值。