如何提升RAG检索的准确率及答案的完整性?

RAG(检索增强生成),重点在于检索,即通过解析文档,然后使用嵌入模型进行向量化,通过欧式距离、向量积乘、最近临等算法来计算向量的相似度,找到与提问语义相似的上下文。然后通过将上下文提交给大模型进行回答的过程。

提示词模版举例:

'<指令>根据已知信息,简洁和专业的来回答问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题”,'
'不允许在答案中添加编造成分,答案请使用中文。 </指令>\n'
'<已知信息>{{ context }}</已知信息>\n'
'<问题>{{ question }}</问题>\n',

大家有没有发现开源RAG的默认分片长度为250, 重叠为50,但是存在检索准确率不高(找不到答案或找到的上下文无法回答该问题)和答案不完整(答案有缺失)的问题。

经过反复测试验证,发现分片长度为100-300时,检索的准确率相对比较高。为了照顾短答案,使用分片长度为100,重叠50,来提升检索提问上下文定位的准确率,并提升分片的完整度(不能完全保证)。为了保证答案的完整性,在100分片长度前后分别增加n*100分片长度和m*100分片长度。n的取值为0-5,m的取值为5-10。具体总结如下:

提问准确率:分片长度100

分片完整性:重叠长度50

答案完整性:n*100 + 100 + m * 100

大模型理解难度:将分片重叠部分做去重处理。

经过以上优化处理,提问答案定位的准确率基本能满足100%覆盖,答案的完整性也非常好。

至于重排模型,可用可不用,个人认为作用不大,使用重排模型的主要目的是因为检索不准确,检索准确了,重排的意义就不大,检索不准确的主要原因是以考虑到检索的速度,降低了一定的准确度,但当分片设置的比较小时,检索的准确率就提升上来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1535505.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】每日一题 2024_9_15 与车相交的点(差分)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 今天的题目曾经的我做过了 . . . 又是复习的一天 题目&#xff1a;与车相交的点 代码与解题思路 func numberOfPoints(nums [][]int) (ans int) { diff : [102]int{}for _, p : range nums {diff[p[0]]d…

基于java网吧管理系统设计与实现

博主介绍&#xff1a;专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

c++基础入门二

C基础入门(二) 一、函数重载 在自然语言中&#xff0c;一句话或者一个词有不同的意思。例如&#xff1a;国乒和别人比赛是“谁也赢不了”&#xff0c;而国足和别人比赛是“谁也赢不了” 函数重载&#xff1a;是函数的一种特殊情况&#xff0c;C允许在同一作用域中声明几个功…

开放系统,面向各类业务需求可提供定制化服务的智慧物流开源了。

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。构建基于Ai技术的…

c++中的二叉搜索树

一概念&#xff1a; 静图展示&#xff1a; 动图展示&#xff1a; ①左子树不为空&#xff0c;则左子树节点值小于根节点值。 ②右子树不为空&#xff0c;则右子树节点值大于根节点值。 ③左右子树均为二叉搜索树。 ④对于它可以插入相等的也可以插入不相等的,这里如果插入的…

JavaSE语法阶段复习知识整理3之封装

文章目录 一、封装1.1 封装的概念1.2 访问限定符1.3封装扩展之包 二、static成员2.1static关键字的引入2.2静态成员变量初始化2.3访问静态成员变量2.4用实际问题加深静态成员变量的理解2.5静态成员变量的总结要点2.6静态成员方法的总结要点 三、代码块3.1普通代码块3.2构造代码…

QXDM 如何更新软件?

如何更新QXDM等高通软件&#xff1f;之前做过这个事情&#xff0c;但过几个月给别人讲的时候就忘记了&#xff0c;特做如下记录。 一. 背景知识&#xff1a; 1. QXDM 依赖于Qualcomm package Managers 3(QPM in short)。 目前的时间是2024年9月15日&#xff0c;但不知从何…

学习笔记JVM篇(一)

1、类加载的过程 加载->验证->准备->解析->初始化->使用->卸载 2、JVM内存组成部分&#xff08;HotSpot&#xff09; 名称作用特点元空间&#xff08;JDK8之前在方法区&#xff09;用于存储类的元数信息&#xff0c;例如名称、方法名、字段等&#xff1b;…

[苍穹外卖]-09Spring Task定时任务

Spring Task spring Task是spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑 只要是需要定时处理的场景都可以使用Spring Task定时任务框架 cron表达式就是一个字符串,可以定义任务触发的时间 构成规则: 分为6或7个域, 由空格隔开,每个域代表一个含义每…

Java 全面指南:从入门到精通

目录 1. 引言 Java 的背景 Java 的起源及历史发展 主要的应用场景 Java 的核心特性 面向对象 跨平台性&#xff08;JVM 的角色&#xff09; 自动内存管理与垃圾回收机制 Java 版本与发展历程 Java SE 8, 11, 17 等主要版本特性 新增功能概述&#xff08;如 Lambda 表…

SpringBoot新技能:零停机更新代码

在个人或者企业服务器上&#xff0c;总归有要更新代码的时候&#xff0c;普通的做法必须先终止原来进程&#xff0c;因为新进程和老进程端口是一个&#xff0c;新进程在启动时候&#xff0c;必定会出现端口占用的情况&#xff0c;但是&#xff0c;还有黑科技可以让两个SpringBo…

【机器学习】--- 深度学习中的注意力机制

深度学习中的注意力机制 在深度学习领域&#xff0c;注意力机制&#xff08;Attention Mechanism&#xff09;已经成为近年来最受瞩目的研究热点之一。它不仅提升了现有模型的性能&#xff0c;更启发了全新的网络结构&#xff0c;如Transformer模型。注意力机制被广泛应用于自…

c语言中的局部跳转以及全局跳转

一、前言 在c语言中&#xff0c;当我们在处理某些异常情况的时候&#xff0c;经常会使用goto语句来进行跳转。goto用起来很方便&#xff0c;但可能很多人都不知道&#xff0c;goto只能在一个函数里面跳转&#xff0c;并不能够跨函数跳转。本文将介绍能够跨函数跳转的接口setjm…

升级VMware

1、vm17pro安装包 VMware Workstation 17 Pro软件下载&#xff1a; 官网下载&#xff1a;Download VMware Workstation Pro 2、点击下一步更改地址 3、注册码 VMware Workstation 17 Pro注册码&#xff1a; 4A4RR-813DK-M81A9-4U35H-06KND 4、打开虚拟机 注&#xff1a; 升…

ip地址数字范围是多少?ip地址四段数字的含义是什么

IP地址&#xff0c;作为互联网上的唯一标识&#xff0c;是由一串数字组成的。这些数字不仅代表了设备的网络位置&#xff0c;还蕴含了丰富的信息。本文将深入探讨IP地址的数字范围以及四段数字的具体含义。 一、IP地址数字范围是多少 IP地址由四段数字组成&#xff0c;每一段数…

JavaEE:文件内容操作(二)

文章目录 文件内容操作读文件(字节流)read介绍read() 使用read(byte[] b) 使用 read(byte[] b, int off, int len) 使用 写文件(字节流)write介绍write(int b) 使用write(byte[] b) 使用write(byte[] b, int off, int len) 使用 读文件(字符流)read() 使用read(char[] cbuf) 使…

基于python+django+vue的鲜花商城系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的线…

如何做系统架构?从动态系统思考的角度

在动态系统思考的背景下&#xff0c;系统架构不再只是一个静态的、结构化的设计&#xff0c;而是一个随着时间推移、基于不同要素互动产生涌现行为的动态过程。系统架构师的任务不仅仅是定义系统的形态和结构&#xff0c;更是通过剖析系统的互动网络、功能涌现和使用场景&#…

UVA1395 Slim Span(最小生成树)

*原题链接*(洛谷) 非常水的一道题。看见让求最小边权差值的生成树&#xff0c;很容易想到kruskal。 一个暴力的想法是以每条边为最小边跑一遍kruskal&#xff0c;然后统计答案。时间复杂度&#xff0c;再看题中很小的数据范围和3s的时限。最后还真就过了。 不过我天真的想了…

三维点云处理(C++)学习记录——PDAL

一、OSGeo4W简概 OSGeo4W是一个基于Windows系统&#xff08;版本7-11&#xff09;的开源地理软件二进制包发布平台。OSGeo4W包括开源GIS桌面应用程序&#xff08;QGIS、GRASS GIS&#xff09;、地理空间库&#xff08;PROJ、GDAL/OGR、GEOS、SpatiaLite、SAGA GIS&#xff09;、…