您的 RAG 管道可能毫无用处。这是一个更好的选择

了解当检索增强生成在生产中失败时应采取哪些措施。

来源:KDnuggets

简介

检索增强生成 (RAG) 成为连接文档与大型语言模型 (LLM) 的标准方法。

模式很简单:嵌入语料库,通过向量相似度检索最相关的块,将它们注入提示中。它在演示和许多生产系统中运行良好。它也以可预测的、记录在案的方式失败,而且只有在大规模时才会出现。

以下是这些故障模式的样子,以及工程师正在寻求解决这些问题的替代方案。

当 RAG 在生产中失败时

最常见的失败模式是检索不相关。用户查询育儿假政策。检索器返回 2022 年版本、2024 年版本和一篇文​​化博客文章。每个块在嵌入距离上得分很高,因为它与查询共享词汇。它们都没有回答用户实际提出的问题。

模型不知道检索到的内容已过时或偏离主题。它将这些块混合成一个自信、详细的答案,但实际上是错误的。这是没有事实相关性的主题相似性,并且是生产 RAG 系统中的主要故障模式。

一个更微妙的版本是上下文中毒。企业知识库通常在多个版本中保存相同的策略文档。当检索器从两者返回块时,模型不会显示矛盾。它选择其中之一,混合两者,或者呈现出自信的综合。读者得到了答案。答案可能是错误的。用户和模型都不知道这一点。

根本原因是 chunk-embed-retrieve 管道中的结构冲突。良好的回忆需要小块(大约 100 到 256 个标记)来进行集中检索。良好的上下文理解需要大块(1,024 个标记或更多)才能保持连贯性。每个 RAG 设计师都会选择一个并接受权衡。

常见(错误)修复:过度设计

RAG 失败时的替代方案

长上下文提示

过度设计陷入困境的 RAG 管道的最直接替代方案是完全跳过检索。

结论