详细内容或原文请订阅后点击阅览
RAG 问题解析的未受教导的教训:搜索之前的结构
企业文档智能 [Vol.1 #6ter] - 问题解析砖上的六个位置与主流 RAG 手册相矛盾The Untaught Lessons of RAG Question Parsing: Structure Before You Search 首先出现在 Towards Data Science 上。
来源:走向数据科学是企业文档智能的姊妹篇,该系列的理念在 Amplify the Expert 中阐述。
它放大了四块架构的块 2(问题解析),并显示了大多数教程跳过的课程。
大多数 RAG 教程都会跳过问题解析。用户的字符串直接进行检索,余弦在 top-k 上运行,并且模型会得到返回的任何内容。我们不这样做,原因之一是:用户问题不是搜索查询。将其视为一个,你会得到无声的部分答案,而在生产中,这就是许多 RAG 悄然崩溃的地方。
📓可运行的配套笔记本位于 GitHub 上:doc-intel/notebooks-vol1。
本文所推翻的幼稚基线
朴素管道嵌入用户字符串并向向量存储询问前 k 个最相似的块。该设置中没有任何内容知道问题有两个部分,或者用户想要一个确切的值而不是一个段落。因此,我们在问题本身上花费了一块额外的砖块:question_df 中的一行包含五个类型列(关键字、范围、形状、分解、澄清)以及卫星表和两个派生摘要(用于检索砖块的 RetrievalQuery,用于生成砖块的 GenerationBrief)。
解剖图显示了五个核心列,但生产 Question_df 还带有两个核心列,它们决定窗口检索将传递到生成的宽度。上下文规则以行来衡量(不是字符,太嘈杂;不是页面,太粗糙)。下表显示了三个示例行:一项事实查找、一项是/否布尔值、一项列表问题。通过读取答案形状和分解模式,每一行的上下文窗口大小都不同。
以下是将积木组合在一起的六个未教授的课程。
第 1 课 – 关系模式,与文档端对称
→Article 6A:在搜索从头到尾遍历整个解析器之前解析问题。
第 2 课 – 模式,而不是分支代码
→第 6B 条:RAG 应从任何问题中提取五个字段,一一构建五列。
