首页 > 其他分享 >使用LOTR合并检索提高RAG性能

使用LOTR合并检索提高RAG性能

时间:2023-12-30 09:56:44浏览次数:36  
标签:检索 RAG LOTR 模型 使用 数据

RAG结合了两个关键元素:检索和生成。它首先使用语义搜索等高级技术来浏览大量数据,包括文本、图像、音频和视频。RAG的本质在于它能够检索相关信息,然后作为下一阶段的基础。生成组件利用大型语言模型的能力,解释这些数据块,制作连贯的、类似人类的响应。与传统的生成模型相比,这个过程确保RAG系统可以提供更细致和准确的输出。

Lost in the Middle”

在RAG中“LIM”问题相当具有挑战性。斯坦福大学和加州大学伯克利分校等大学的研究强调了这一问题,这与人们经常记住购物清单上的第一个和最后一个项目,但忘记中间的项目类似。语言模型人一样很擅长识别他们正在分析的文本的开头或结尾的信息,但他们往往会忽略中心的关键细节。

为了解决这个问题,我们一般都是用下面的方法:

1、避免使用单一知识库,对不同类型的文档只使用一个知识库可能会混淆检索模型。他们可能很难根据主题或上下文找到正确的信息。

2、使用多个矢量存储,为不同类型的文档创建单独的数据存储区域(称为矢量存储)。这有助于更有效地组织信息。

3、使用一个称为Merge retriver的工具合并来自这些不同VectorStores的数据。这有助于汇集来自不同来源的相关信息。

4、使用长上下文重新排序(LOTR)重新排序,这确保了模型对文本中间的数据给予同等的关注,而不仅仅是在开头或结尾。

通过使用上面这些技术,可以确保数据的所有部分(包括中间部分)都得到了适当的检索并用于生成响应。这些步骤有助于改进RAG系统的性能,使它们更有效地处理和解释大量不同的信息源。

https://avoid.overfit.cn/post/d252399e19e5409abf9990591523c11f

标签:检索,RAG,LOTR,模型,使用,数据
From: https://www.cnblogs.com/deephub/p/17936064.html

相关文章

  • Excel中实现关联检索数据项
    工作中碰到个制表的需求,需要excel中做个数据关联选择的功能,模拟说明,现有北京市和上海市两个一级数据,其下有各区名的二级数据,需要在"城市"选择具体名称后,"区县"的选择是自动城市的,例如"城市"选择了北京,则"区县"只能选择"朝阳区、东城区、西城区、海淀区、顺义区"这几个之一,1. 圈中......
  • 拷贝网站sessionStorage或者localStorage的数据到另一个网站的sessionStorage或者loca
    复制网站sessionStorage或者localStorage到另一个网站:1.将以下代码在要复制的A页面console中回车执行。   1)sessionStorage全拷贝:copy(`constsess=${JSON.stringify(sessionStorage)};for(constkeyinsess){sessionStorage.setItem(key,sess[ke......
  • sessionStorage.clear() 的一些疑问
    问:window.close();//直接关闭会导致仅清空的当前标签页的sessionStorage,重新打开时标签页的仍然是之前的sessionStorage数据,尽管执行了sessionStorage.clear()???答:这可能是因为浏览器的行为。一些浏览器在关闭标签页或窗口时会保存其状态,包括sessionStorage的数据,以便在......
  • Abp中集成TableStorage
    添加Nuget包Azure.Data.Tables在appsettings.json中配置连接字符串在Module中获取连接字符串,并注册服务privatevoidConfigurationTableStorage(ServiceConfigurationContextcontext){varconnectionString=context.Services.GetConfigur......
  • Java搭建检索系统
    步骤:数据预处理:首先,需要对要检索的数据进行预处理。这包括数据清洗、分词、去除停用词、词干化等操作,以便将数据转化为适合索引和搜索的形式。索引构建:接下来,需要构建索引以便进行快速的检索操作。使用Lucene、Elasticsearch或Solr等API,可以创建索引并将预处理后的数据加入到索引中......
  • (原创)安卓在fragment里使用自定义ListView
    原创声明:本文所有图片和代码皆由本人制作和编写。目录前言目标5步走第零:准备好你的ListItem布局第一:在布局文件添加ListView组件第二:创建适配器实现构造器(在这里提供数据)实现getView(在这里绑定布局)第三:把第一步的xml文件里的ListView和第二步的适配器联系起来第四:为每个小条目......
  • 【收藏】法律人办案必备检索网站最新汇总!附检索技巧
    为什么要进行法律检索?无论你擅长的是做诉讼还是非诉讼业务,法律检索都是必备技能之一。只有做好法律检索才能制定出更加完备的策略报告,才能提供更加充实、可行、准确的方案。一、数据库检索1、alpha数据库https://www.icourt.cc 已经用了3年的大数据库,听说最近降价了。有相当多......
  • Android应用开发长按拖拽-Flutter的LongPressDraggable控件回调函数onDraggableCancel
    onDraggableCanceled介绍LongPressDraggable的onDraggableCanceled回调在拖动被取消时触发。拖动可能会被取消,例如用户在拖动开始后移动了太快或在放置之前取消了拖动。onDraggableCanceled的使用以下是如何使用onDraggableCanceled的示例:LongPressDraggable<int>(//......
  • 启动微服务报错:java.lang.IllegalStateException: Service id not legal hostname (se
    Order微服务通过opneFeign调用storage和account时报错原因分析:服务名称不能有下划线,可以使用中划线,Springcloud无法识别下划线,将下划线改为中划线即可注意:这个改了之后,你在进行远程调用的时候,接口对应的方法接口也需要相应改变【分布式开发,一个微服务模块修改了,很可能......
  • js Cookie、sessionStorage、localStorage 的区别
    fetch发送2次请求的原因参考回答:fetch发送post请求的时候,总是发送2次,第一次状态码是204,第二次才成功?原因很简单,因为你用fetch的post请求的时候,导致fetch第一次发送了一个Options请求,询问服务器是否支持修改的请求头,如果服务器支持,则在第二次中发送真正的请求......