详细内容或原文请订阅后点击阅览
企业RAG主流教程中常搞错的10个要点
企业文档智能 [Vol.1 #M3] - 该系列争论的十个立场,以及争论它们的每篇文章的地图主流教程错误的企业 RAG 的 10 个立场首先出现在《走向数据科学》上。
来源:走向数据科学构建企业级RAG的方法,并且在过程中与许多标准实践持不同意见。RAG不是机器学习;嵌入不是魔法;分块大小扫描优化了错误的目标;答案模式比模型更重要。这些都不是中立的,每一个都会改变你构建的东西。本文汇集了本系列其余部分所论证的立场,然后按文章映射整个系列,以便您可以直接跳转到您想要核实的论点。
本文是企业文档智能的宣言,该系列从四个构建块构建企业RAG系统。十个立场,系列在这些立场上与主流RAG教程分道扬镳,随后是整个系列通过它们的地图。
📓 该系列的配套笔记本位于GitHub上的doc-intel/notebooks-vol1。每个笔记本在一个真实的PDF上端到端运行一个构建块,因此您可以观察这些立场如何实际运作:结构优先检索在任何嵌入之前触发,带行级引用的类型化答案返回,按失败模式而非单一总分进行评估。
标准的RAG教程读起来千篇一律。对文档进行分块,将块推入向量存储,嵌入问题,通过余弦相似度检索top-k,可选地重排序,将结果发送给LLM。供应商演示、框架快速入门和会议演讲都在重复它。该模式在hello-world示例上有效,并开始在一个真实的企业文档遇到它时动摇。
以下是本系列针对该方案所捍卫的十个立场。每一个都是架构所依赖的反复出现的编辑选择。没有一个是单独属于我的。一些实践者的声音推动了这些立场中的一些,这里所做的贡献是将它们视为一个连接的系统,而不是孤立的观点。
如果您只阅读本系列中的一篇文章,并且想要每个具体选择背后的编辑立场,那就是这篇。
这十个分为三个层次。前四个针对教程的检索方案:结构优先、字典先于模型、重排序作为工具而非阶段、永远不要一个向量存储用于所有。接下来的三个设定了方案忽略的框架:企业的真正含义、系统放大了谁、谁在运行时选择路由。最后三个涵盖审计维度:按失败模式评估、构建块之间的关系、引用作为证据。
1. 向量存储是后备,而非基础
默认教程将向量存储作为管道的入口点。一切都通过余弦相似度,然后重排序修补余弦错误的地方。本系列将其反转。结构优先检索处理企业语料库上大多数真实问题的核心。嵌入作为剩余情况的保障,而非默认的第一阶段。
论证不是基准测试,而是可解释性。通过关键字匹配和对照文档声明的目录进行过滤,您可以阅读为什么检索到某个段落:匹配的术语、章节路径、行范围。
使用余弦相似度,您无法做到。向量表示“这两个段落在某些768维空间中接近”,这就是可用的全部解释。
在企业文档上,每一次检索都必须向审计员或领域专家证明其合理性,可解释性差距是驱动架构的因素,而不是recall@k数字。嵌入仍然有其位置,但作为漏斗中的最后方法,而非第一。
出现位置:文章2、7、9、14。
2. 专家字典胜过更好的嵌入模型
同义词问题是嵌入本应解决的问题。Premium匹配cost。Termination匹配cancellation。Franchise匹配deductible。在实践中,由领域专家维护的概念关键词表比现成的嵌入模型更可靠地解决同义词问题,并且通常比微调模型在专家已知的词汇上更好。微调模型在字典尚未捕获的未见措辞和语言上仍然胜出,这就是为什么嵌入作为后备保留在漏斗中。专家知道这些。
Recall@k是人们用来从基准中挑选嵌入模型的指标。它不是生产管道优化的指标。一旦您接受同义词工作属于专家字典,微调就变成了一种奢侈,嵌入变成了一种发现工具。
出现位置:文章2、6、7。
3. 重排序是次要工具,而非主要阶段
交叉编码器重排序在文献中有一席之地。它们位于便宜的嵌入相似度和昂贵的LLM判断之间,并且当候选池很大时,它们才值得其成本。那是重排序论文出现的背景。
本系列捍卫的企业方法在由专家词汇检索、结构感知过滤和分类-之前-检索产生的小型、有范围限制的候选集上工作。到重排序运行时,池子已经很小且已有范围限制,交叉编码器为边际精度增加了延迟和复杂性。该系列将重排序视为边缘案例的备用,而非默认阶段。列表型问题是典型的重排序失败模式。
出现位置:文章2、2bis、7、9、14、20。
4. 拒绝“将所有内容连接到向量存储”
供应商模式是将每种文档类型连接到一个大向量索引中。这是为客户准确性而优化的。该系列将其替换为语料库规模架构:
RAG处理内容查找。SQL处理计数和过滤。语料库索引位于它们之间。向量存储是该索引中的一个可能列,在其赢得位置的地方使用。
出现位置:文章14-20。
5. 公司不是谷歌
“我们是谷歌”的剧本无法转移到企业环境。典型的企业有几百种文档类型、几十个领域专家和一组重复出现的问题,而不是一千万个异构网页的语料库。
本系列中的大多数架构选择都源于拒绝复制粘贴。超大规模风格的检索为网络规模召回和按次计费优化,而非客户的准确性。对几百种文档类型和已知受众的正确架构看起来与谷歌的完全不同。一旦您接受这一点,系列的其余部分就自然随之而来。
出现位置:文章3、14。
6. 放大专家,而非取代他们
企业RAG不是网络上的开放域问答。它在领域专家已经了如指掌的文档上运行。那些专家有词汇、一组消歧义、将问题路由到特定文档类型的习惯。系统的工作是扩展这种判断,而不是绕过它。
大多数架构错误都源于忘记这一点。自主代理绕过专家,未分化语料库上的通用向量搜索忽略他们,微调嵌入模型试图取代他们已经免费知道的东西。本系列捍卫的每一个选择都回到了这个前提。
出现位置:文章3、4、6、13、15。
7. 确定性调度器优于自主代理
“代理式RAG”的推动将代理作为灵活性出售。在实践中,代理在演示上节省了工程精力,并在第一次无法重现的事件中花费十倍。
确定性调度器做了代理所做的事情,除了人类可以阅读代码、审计员可以重播决策、团队的积累智慧活在版本控制中。自主性适合开放工具集和探索性工作。在受监管的企业环境中是错误的,在那里每个路由决策都必须可检查。
出现位置:文章6、13。
8. 按失败模式评估,而非汇总
汇总准确性会撒谎。一个总体95%的系统可能在困难子集上隐藏50%。信任汇总数字的团队会逐个客户投诉地发现那50%。
该系列使用按问题类型和失败模式切分的精选参考数据集。每个失败指标说明真相。RAGAS、ARES、Trulens各自提出自己的指标集;本系列捍卫的原则是按切片的纪律,而非特定框架。
出现位置:文章3、20。
9. 每个构建块产生关系型结构化数据,而非原始字符串
解析返回DataFrames的关系集,而不是带有文本块和元数据的文档对象。问题解析返回question_df中的一行加上卫星表。检索产生带方法出处的类型化候选集。生成写入带有行级引用、排除项和答案模式的类型化行。
构建块之间的连接是表,而非字符串。这有实际后果:每个构建块都可以使用前一个构建块保存的输出独立测试,检索可以针对同一解析重新运行而无需重新解析,审计跟踪是对类型化行的连接而非自由文本片段的日志。
出现位置:文章5、6、7、8、13、16、22。
10. 引用是证据,而非装饰
每个生成的答案都返回起始页、起始行、结束页、结束行以及从这些行中提取的逐字引用。注释的PDF在源页面上突出显示被引用的区域。引用不是UI点缀;它是解释。
常见反驳是“但LLM仍然是不透明的,所以引用难道不是黑匣子上的装饰吗?”答案是引用并不使LLM不那么不透明。它们使LLM的不透明度与企业工作中重要的问题无关。
用户不是问“模型为什么选择这些词”。他们在问“这个答案来自源文件的哪里”。行级引用完全且可验证地回答了第二个问题:段落就在那里,行号就在那里,高亮在页面上,读者可以一键检查源。第一个问题仍然悬而未决,在企业环境中,它不需要被回答即可上线。
这就是为什么SHAP、LIME、注意力可视化以及ML可解释性堆栈的其余部分解决的是引用接地RAG架构没有的问题。
后续要求是系统存储足够的状态,以便在六个月后重现任何答案。这使得引用在审计中站得住脚。没有存储纪律,引用只是摆设;有了它,引用是企业系统需要的唯一解释。
出现位置:文章1、3、8、22。
该系列,逐篇文章
这十个立场在整个系列的五部分中进行了论证。以下是地图,以便您可以跳转到您想检查的论点。
第一部分:什么有效,什么无效。
第二部分:四个构建块。
第三部分:单个文档上的管道。
第四部分:从一个文档到整个档案。
第五部分:在生产中操作。
超越编号主线。更多深入探讨与各部分并列排列:
从这里开始:系列中最新的
如果您想在承诺上面的地图之前先试读该系列,这些是您现在应该阅读的文章,最新的优先:
结论
在阅读关于RAG的博客文章、框架教程或供应商推销时,逐条对照十个立场,并检查这些文章默默地假设了哪些。供应商推销通常跳过立场1、4和9;框架快速入门跳过7和1;学术论文跳过6和5。这个网格不是对这些文章的判断,它是在采纳建议之前值得问的问题列表。
这十个没有一个是本系列单独原创的。贡献是将它们视为相互关联的。如果您从这些文章中什么都不记得,请记住,您所拥有的文档上的问题,由需要答案的人提出,应该驱动每一个架构选择。系列中的其余一切都源于此。
进一步阅读和来源
本文是立场总结,而非实证文章。独立落在大多数十个立场上的实践者写作是Husain、Yan和Liu。Anthropic的Building Effective Agents是支持立场7的行业框架。在本系列定义的四个砖块之上的代理方面是后续工作。
与本宣言方向相同:
