RAG 幻觉烦得要命
摘要
团队发现 80% 的 RAG 幻觉是由检索不佳导致的,而非生成模型的问题,强调需要分别评估检索与生成环节,才能有效调试错误答案。
我们搭建了一个 RAG 系统,用于回答关于自家文档的问题,但总得到一些自信满满的错误答案。当然,这在业内并不算太意外,但我们个人为此苦恼了好一阵子。起初,团队的本能反应是“模型在胡编乱造”,于是我们走了常规路线:调提示词、降低温度参数、甚至尝试更换模型。但这些步骤要么只是临时修复,要么对输出质量没有实质改善。最后我们深入追踪了 trace(而非只看最终输出)。一旦能看到每次错误答案时输入模型的检索上下文,就很明显问题不在模型。我们的检索喂给它的是垃圾,所以出来的也是垃圾。说实话,模型基于这些垃圾回答得还算合理哈哈。真正帮助我们转变思路的是:检索——我们到底有没有拉取到正确的上下文?生成——在给定正确上下文的情况下,模型是否真的正确使用了它?一旦我们分开评估这两个环节,就很容易知道该在哪儿下功夫了。我们在评估平台(Braintrust)上设置了各自的分数,现在看到错误答案能直接定位到出问题的层,而不是靠猜。结果是大约 80% 的问题出在检索而非生成,这与团队最初的假设完全相反。
相似文章
你的RAG因为垃圾检索而出现幻觉——这里有3行代码的修复方案(附真实得分)
针对噪声检索导致的RAG幻觉问题的实用修复方案:使用交叉编码器重新排序,过滤掉得分低于1.5的文本块,平均相关性从-0.28提升至+3.80。
法律RAG系统仍产生多少幻觉?
本研究分析了八个模型和两个法律语料库中的法律RAG系统幻觉问题,发现幻觉现象仍然存在,比率从低于10%到近一半不等,尤其在错误前提问题中。
RAGognizer:通过检测头集成实现幻觉感知微调
RAGognizer 提出了一种幻觉感知微调方法,该方法将轻量级检测头集成到大语言模型(LLMs)中,以实现语言建模与幻觉检测的联合优化,适用于 RAG 系统。论文介绍了 RAGognize,一个包含自然发生的闭域幻觉及其词元级标注的数据集,并展示了在降低幻觉率的同时,实现了最先进的幻觉检测性能,且不损害语言质量。
大多数生产环境中的 RAG 应用都在自信地胡说八道,而这一现象却鲜有人讨论
文章指出了生产环境中 RAG 系统的一种关键故障模式:由于版本控制问题和缺乏不确定性机制,系统会生成自信但错误的回答。文章建议通过引入路由层、检索评分和幻觉检测等架构改进来缓解这些错误。
我见到的大多数智能体RAG问题都是检索问题,而非模型问题
作者认为大多数智能体RAG失败源于检索问题——具体包括分块错误、缺乏新鲜度信号以及依赖纯向量搜索——而非大语言模型本身,并建议采用结构化分块、基于衰减的排序以及BM25+向量的混合搜索。