RAG 生成的循环工程:一次迭代 top-k

企业文档智能 [Vol.1 #8bis] - 将检索到的候选发送到生成砖的两种机制、在它们之间进行选择的充分性信号以及使其廉价的每个问题类型调度 RAG 生成的后循环工程:一次迭代 top-k 一个首先出现在《走向数据科学》上。

来源:走向数据科学

用户询问“该政策的生效日期是哪天?”。检索返回五个候选行窗口,并在一个提示中将它们全部传递给法学硕士。法学硕士读取所有五个以提取第一个候选人已经拥有的相同日期。二到五块是签名、脚注和一段关于历史日期的段落。没有付出任何代价。首先发送 top-1,询问 LLM 是否足够,当回答“是”时停止:在此类问题上,顺序馈送可将代币成本降低 80%。本文的其余部分介绍了顺序获胜的情况、对所有 K 的单次调用是正确的默认值,以及问题解析器如何在两者之间分派。

本文是企业文档智能的姊妹篇,该系列的理念在“放大专家”中阐述,该系列从四个块(文档解析、问题解析、检索、生成)构建企业 RAG。它位于第 8 条(生成)和第 9 条(升级 mini-RAG)之间,并制定了一项具体决策:如何将检索到的前 K 个候选者输入到生成块中?大多数管道的答案是“一次全部 K”。本文对第二个机制进行了分类(顺序排列,top-1 优先),并显示了每个机制何时获胜。

本文所推翻的幼稚基线

Naive RAG 默认批量发货。检索返回前 5 个,LLM 获得全部 5 个,答案返回。它有效,并且在解决难题(比较、列出)时它是正确的选择。但其他所有问题都付出了无声的代价:简单的事实问题,其中第一名已经有了答案。本文将讨论第二个系统以及每个问题所选择的调度。

📓本文的可运行笔记本位于 GitHub 上:doc-intel/notebooks-vol1。它通过批量和顺序生成发送相同的问题,打印每个问题的令牌成本和停止循环的两个充足性布尔值(answer_found,complete_answer_found),并在您自己的计算机上重现调度表。