大少数现有方法仅从检索语料库中检索短的延续块,限度了对整个文档高低文的全体了解。 RAPTOR(Recursive Abstractive Processing for Tree-OrganizedRetrieval)引入了一种新方法,即递归嵌入、聚类和总结文本块,从下往上构建具备不同总结级别的树。在推理时,RAPTOR模型从这棵树中检索,整合不同形象级别的长文档中的消息。 RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)比传统的检索增强型 LM 性能与相对准确度上提高 20%。
开源地址:
论文地址:
一、RAPTOR 检索树的构建环节
RAPTOR模型的精髓在于其树状结构的构建,这一环节经过精心设计的递归算法成功,构成了一个档次清楚的多层级树形架构。这种结构不只清楚优化了模型对长文本消息的解决才干,更使得对复杂文本内容的了解和检索变得高效而精准。经过递归的模式,RAPTOR能够逐渐细化文本消息的粒度,从而确保在多个档次上都能捕捉到关键消息,为后续的文本剖析和运行奠定了松软的基础。
上方我将对详细步骤启动详细的说明:
二、RAPTOR 的检索环节
这里有两种模式成功,基于 深度检索树(树遍历) 和 广度检索树(折叠树)
三、开源名目案例运行示例
# 装置,在经常使用 RAPTOR 之前,请确保已装置 Python 3.8+。克隆 RAPTOR 存储库并装置必要的依赖项:git cloneraptorpip install -r requirements.txt# 开局经常使用 RAPTOR,请依照以下步骤操作:# 首先,设置您的 OpenAI API 密钥并初始化 RAPTOR 性能:import osos.environ["OPENAI_API_KEY"] = "your-openai-api-key"from raptor import RetrievalAugmentation# Initialize with default configuration. For advanced configurations, check the documentation. [WIP]RA = RetrievalAugmentation()# 将您的文本文档减少到 RAPTOR 启动索引:with open('sample.txt', 'r') as file:text = file.read()RA.add_documents(text)# 如今可以经常使用 RAPTOR 依据索引文档回答疑问:question = "How did Cinderella reach her happy ending?"answer = RA.answer_question(question=question)print("Answer: ", answer)# 将结构好的树保留到指定门路:SAVE_PATH = "demo/cinderella"RA.save(SAVE_PATH)# 将保留的树从新加载到 RAPTOR 中:RA = RetrievalAugmentation(tree=SAVE_PATH)answer = RA.answer_question(question=question)
总结
RAPTOR在RAG中的优化为咱们提供了一个全新的视角和工具,使咱们能够更高效地利用海量消息,更精准地检索和生成高品质的内容。随着技术的不时提高和完善,置信RAPTOR将在未来为咱们带来更多惊喜和或者性。留意以上是我团体的了解,假构想深化了解可以阅读论文。
原文链接: