我们在 Google 的 FRAMES 上对 18 种 RAG 流水线与智能体循环做了基准测试。最佳流水线达到 78.9%,而智能体循环达到 92.7%。

Reddit r/LocalLLaMA 论文

摘要

这项基准测试在 Google 的 FRAMES 多跳问题上对比了 18 种 RAG 流水线变体与一个简单的智能体循环,结果发现最佳流水线得分为 78.9%,而一个可以重新搜索的智能体循环达到 92.7%。令人意外的是,重排序往往会降低准确率。作者还指出,尽管明确要求模型仅依据检索到的文档作答,模型有时仍会凭记忆填补信息空白。

混合检索、重排序、查询分解和查询扩展通常被认为是实现良好 RAG 的必备要素。我们想看看它们各自到底有多大帮助,于是进行了测试。在 FRAMES 全部 824 个多跳问题上,使用相同的模型、相同的 embedding、相同的文档。我们构建了 18 种流水线变体,最佳的一种得分 78.9%。而一个简单的智能体循环——能够阅读检索结果并再次搜索——得分 92.7%,大致相当于直接把正确的文章提前提供给模型。重排序的结果可能会让你惊讶:一个较小的重排序器使我们最佳流水线的准确率下降了 9 个百分点,而一个更大的重排序器几乎没有带来帮助。我此前就怀疑重排序在这里不会有太大帮助,但还是想验证这个假设。我们还注意到另一点:即使明确要求模型只依据检索到的文档作答,它们有时仍会凭记忆填补信息空白。这些回答中仍然可以包含大量引用。因此,我们最终逐一将每个正确答案与系统实际读取到的内容进行了核对。感兴趣的读者可以查看完整报告:Agentic RAG vs. traditional RAG on FRAMES。完全透明地说明:我目前在开源项目 PipesHub 工作,基准测试代码和运行手册都在仓库中
查看原文

相似文章