当前位置:首页 > 技术分析 > 正文内容

RAG技术:一种优化 RAG 中查询生成的新方法

ruisui884个月前 (02-03)技术分析23

为了解决大型语言模型 (LLM) 的幻觉问题,检索增强生成 (RAG) 系统利用文档检索来提供更准确的答案。尽管前景光明,但现有的 RAG 系统仍然因模糊查询而面临挑战。

本文介绍了一项新研究,题为“优化查询生成以增强 RAG 中的文档检索”。该研究旨在通过优化查询生成来增强 RAG 中的文档检索。

解决方案

QOQA(使用查询扩展的查询优化)如图 1 所示。

图 1:QOQA 概念图。给定包含 top-k 文档的扩展查询,我们将 top-3 重述查询和分数添加到 LLM。我们根据分数优化查询并生成重述查询。来源:QOQA。

相应提示如图2所示。

图 2:QOQA 中使用的提示模板。黑色文本描述了优化任务的说明。蓝色文本是原始查询以及使用原始查询检索到的前 N ?个文档。紫色文本是经过 LLM 优化器修改的查询和分数。来源:QOQA。

QOQA方法通过以下步骤优化查询生成,从而提高RAG系统中文档检索的准确率。

查询扩展与重构

QOQA 的核心思想是利用大型语言模型 (LLM) 来改写查询。首先,系统使用原始查询检索前 N 个相关文档。这些检索到的文档与原始查询一起形成扩展查询。然后,LLM 根据这些扩展查询生成改写查询。

查询文档对齐分数

为了评估和优化生成的查询,QOQA 引入了查询-文档对齐分数。该评分系统包括三个评估标准:BM25 分数、密集分数和混合分数。

  • BM25 分数:基于稀疏检索模型,评估文档中查询词的频率和权重。
  • 密集分数:使用密集检索模型,通过嵌入向量空间中的相似性来评估查询和文档之间的对齐情况。
  • 混合分数:结合 BM25 和密集分数,通过调整参数 α 来优化最终分数。

优化流程

在优化过程中,QOQA 方法会更新查询模板,包括原始查询、检索到的文档和前 K 个改写查询。在每次迭代中,LLM 会根据这些分数生成新的改写查询并将其添加到查询桶中。通过多次迭代,系统不断优化查询,以确保它们的表现优于原始查询。

评估

实验结果表明,QOQA 方法与基线模型相比显著提高了文档检索性能。图 3 总结了这些数据集上各种文档检索模型的性能。

图 3:文档检索任务的结果。所有分数均表示 nDCG@10。粗体表示所有模型中的最佳结果,下划线表示第二好的结果。来源:QOQA。

案例研究:QOQA 如何提高查询精度

为了更好地理解 QOQA 方法的实际影响,让我们看一个来自SciFactFiQA数据集的具体示例,这两个数据集用于验证此方法。这些数据集分别侧重于科学事实核查和金融问答,为评估文档检索的准确率提供了理想的测试用例。

图 4:来自 SciFact 和 FiQA 数据集的示例。蓝色文本是答案文档和改述查询之间的重叠关键字。来源:QOQA。

示例 1:SciFact 数据集

  • 原始查询“零维生物材料表现出感应特性。”
  • QOQA-重新表述的查询“纳米级生物材料是否具有可以在生物系统中引发特定反应的独特特性?”

通过重新表述原始查询,QOQA 引入了更具体的术语,如“纳米级生物材料”和“生物系统中的特定反应”。这种精确的语言可确保系统检索出更相关的文档。在本例中,检索到的文档讨论了用于操纵干细胞的纳米技术,这与重新表述的查询非常吻合,并且与原始模糊查询相比,它提供了更准确的答案。

示例 2:FiQA 数据集

  • 原始问题“COVID-19 的起源是什么?”
  • QOQA-重新表述的查询“什么分子证据支持蝙蝠和穿山甲是 COVID-19 病毒的可能起源宿主?”

在此示例中,QOQA 方法通过指定“分子证据”和“蝙蝠和穿山甲”作为焦点来细化查询。这种详细程度有助于检索更科学准确的文档,例如研究蝙蝠冠状病毒的基因组分析及其与 COVID-19 病毒的联系的研究。

结论和见解

本文介绍了一种缓解幻觉的新方法,特别是通过优化查询生成来解决检索增强生成 (RAG) 系统中的模糊查询问题。该方法结合了传统稀疏检索和现代密集检索的优势,同时利用了大型语言模型 (LLM) 强大的生成能力。

我认为,如果未来在更加多样化的领域和更大规模的任务中得到验证,并且解决查询生成中的资源消耗问题,那么这项工作可以为 RAG 系统和信息检索领域提供更广泛的应用。

参考:

https://medium.com/@florian_algo/a-new-approach-to-optimizing-query-generation-in-rag-33c32d68f4e6

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1052.html

标签: 查询优化
分享给朋友:

“RAG技术:一种优化 RAG 中查询生成的新方法” 的相关文章

Ubuntu Linux 24.04 LTS发行版现已开放下载

IT之家 4 月 25 日消息,Ubuntu 24.04 长期支持版(LTS)“Noble Numbat” 现已发布,有需要的用户请通过官网下载发行版 ISO 镜像进行安装。Ubuntu 24.04 采用了 Linux 6.8 内核,可利用 Netplan 在桌面上配置网络连接,还配备了现代化的桌面...

云时代,Linux和容器为王,微软推出自己的发行版Azure Linux

看到今天的微软,其前CEO史蒂夫.鲍尔默肯定会后悔在15年前说过的一句话“Linux 是一种癌症(Linux is a cancer)”。 因为今天的微软不光靠Linux赚的钵满盆满,而且还发行了自己的Linux发行版Azure Linux。为了提高其云服务和容器化服务水平,其Azure公有云平台提...

Git分布式系统---Gitlab多人工作流程

前言在上一次推文中,我们已经很清楚的讲解了如何创建本地仓库、提交(push)项目到远程仓库以及从远程仓库clone(克隆)项目到本地的相关操作。大家可以先去看前面的推文(快速掌握Git分布式系统操作)点击查看目前无论你是否步入社会还是在校学生,都会使用Gitlab来进行团队的代码管理。(可以这样说:...

壹啦罐罐 Android 手机里的 Xposed 都装了啥

这是少数派推出的系列专题,叫做「我的手机里都装了啥」。这个系列将邀请到不同的玩家,从他们各自的角度介绍手机中最爱的或是日常使用最频繁的 App。文章将以「每周一篇」的频率更新,内容范围会包括 iOS、Android 在内的各种平台和 App。本期继续歪楼,由少数派撰稿作者@壹啦罐罐介绍他正在使用的...

15款测试html5响应式的在线工具

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面15款工具可以方便测试你的html5响应式效果。Responsinatorhttp://www.re...

一套代码,多端运行——使用Vue3开发兼容多平台的小程序

介绍Vue3发布已经有一段时间了,从目前来看,其生态还算可以,也已经有了各种组件库给予了支持,但是不管是Vue3还是Vue2都无法直接用来开发小程序,因此国内一些技术团队针对Vue开发了一些多端兼容运行的开发框架,今天来体验一下使用Taro来体验一下使用Vue3开发多平台运行的小程序,以便于兼容各大...