Naive RAG 、Advanced RAG 和 Modular RAG 简介

news2024/11/20 18:47:06

简介:

RAG(Retrieval-Augmented Generation)系统是一种结合了检索(Retrieval)和生成(Generation)的机制,用于提高大型语言模型(LLMs)在特定任务上的表现。随着技术的发展,RAG系统经历了几个阶段的演变,包括Naive RAG、Advanced RAG和Modular RAG。

流程图

在这里插入图片描述

Naive RAG:

Naive RAG是RAG系统的初级阶段,它通常涉及一个简单的“检索-阅读”过程。
在这个范式中,系统首先根据用户的问题检索相关信息,然后使用检索到的信息生成答案。
Naive RAG面临的挑战包括检索的相关性、生成的连贯性以及如何有效利用检索到的信息等问题。

Advanced RAG:

Advanced RAG是在Naive RAG的基础上进行的改进,它通过更精细化的数据处理来提高检索生成的质量。
这种范式可能会引入预检索和检索后的处理,如优化数据索引使用滑动窗口细粒度分割元数据等方法。
Advanced RAG还可能包括多次j检索或迭代检索,以及对检索到的文档进行重排序(reranking)来提高生成文本的相关性和准确性。

Modular RAG:

Modular RAG代表了RAG系统的更高级阶段,它通过引入新的模块来丰富RAG过程,并提供更多的灵活性。
这种范式允许模块的替换或重新配置,可以根据特定问题上下文动态地组织RAG过程。
Modular RAG结合了微调等其他技术,并且可能包括自适应检索多答案融合和主动学习等高级功能。

区别:

Naive RAG是最基本的RAG实现,它通常只涉及简单的检索和生成步骤,没有太多复杂的优化。
Advanced RAG在Naive RAG的基础上增加了更多的策略和优化,如索引优化、迭代检索和检索后处理,以提高系统的性能。
Modular RAG则进一步发展,提供了更高的灵活性和可定制性,允许通过引入不同的模块和调整模块间的流程来适应各种复杂的任务和需求。

工作流程:

  • 输入: LLM系统响应的问题称为输入。如果没有使用RAG,则直接使用LLM来回答问题。
  • 索引:如果使用 RAG,则首先对一系列相关文档进行分块,生成块的嵌入,然后将它们索引到向量存储中,从而对它们进行索引。在推理时,查询也以类似的方式嵌入。
  • 检索:通过将查询与索引向量进行比较来获得相关文档,也表示为“相关文档”。
  • 生成:相关文档与原始提示相结合作为附加上下文。然后将组合的文本和提示传递到模型以生成响应,然后将其准备为系统向用户的最终输出。

经典的流程图
在这里插入图片描述

以上是文本的全部内容感谢阅读。

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

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

相关文章

串联所有单词的子串 ---- 滑动窗口

题目链接 题目: 分析: 我们上次做的题目, 是找到所有字符的异位词, 和这道题有些类似, 使用记录有效字符的个数找到子字符, 此题无非是把字符变成了字符串题目回顾 有一下几方面不同, 我们以示例1为例: 1. 哈希表 上次我们使用的是哈希数组, 因为数组的下标可以是字符, 现…

elasticsearch-head 源码运行

1、下载安装nodejs 地址:Node.js — Run JavaScript Everywhere 2、git下载 elasticsearch-head 源码 地址:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster 3、使用cmd 进入 elasticsearch-head 目录 4、依次执…

C for Graphic:遮罩显示(一)

模板缓冲一般用于遮罩渲染的功能,其原理很以前聊过(模板缓冲原理),就不再啰嗦了。 现在实现一个功能:使用一个长方体(或任意物体)遮罩渲染对象(比如一个球)。 …

好用无广的桌面便签app 能管理待办事项的便签软件

在忙碌的工作和生活中,我们每天都面临着大量的待办事项。这些琐碎却重要的事务很容易混淆或遗忘,给我们带来不必要的麻烦和压力。幸运的是,选择一款优秀的便签app,可以有效地帮助我们管理这些待办事项,让工作和生活更加…

CVE-2024-4761 Chrome 的 JavaScript 引擎 V8 中的“越界写入”缺陷

分析 CVE-2024-4761 和 POC 代码 CVE-2024-4761 描述 CVE-2024-4761 是一个在 V8 引擎中发现的越界写漏洞,报告日期为 2024-05-09。这个漏洞可能允许攻击者通过特制的代码执行任意代码或者造成内存破坏,进而导致程序崩溃或其他不安全行为。 POC 代码解…

干部管理系统的功能解析

在日益复杂的组织运营环境中,干部管理系统已成为组织人事部门不可或缺的得力助手。该系统集成了多项先进功能,极大地提升了干部信息的全面管理、选拔任用、培训发展等工作的便捷性和效率。以下是对干部管理系统主要功能的深入解析。 一、信息管理功能 …

CH340 RTS DTR引脚编程驱动OLED

运行结果 硬件连接(在连接线上串接300R电阻) 下面是c#实现代码 using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks;using uint8 System.Byt…

小米、西圣、罗马仕充电宝怎么选?哪个牌子好?一篇教会你选!

随着移动设备的普及,充电宝已经成为现代人生活中不可或缺的便携式充电解决方案。在诸多品牌中,小米、西圣、罗马仕等充电宝备受消费者喜爱,各具特色。今天将为大家带来这三款充电宝的一个详细测评对比,方便大家在选购时能够提供有…

生产环境磁盘变更方案

datanode磁盘扩容(1人天) 扩容磁盘 1.1 扩容前检查、新盘初始化 确定block副本统计正常,无丢块,无under-replicated 块 后台执行命令检查 hdfs dfs fsck / 无异常可进行以下步骤进行磁盘扩容 新盘初始化 ##格式化新盘,命令示例: mkfs.xfs /dev/sdc##挂载新盘,命令示…

在 CSS 中使用 text-emphasis 来增强文本的趣味性

在CSS中设置文本样式的方法有很多。您可以更改颜色、大小、字体,甚至添加阴影和轮廓等效果。但最近,我了解到一个我以前没有听说过的时尚 CSS 属性,它非常棒! 它被称为文本强调(text-emphasis)&#xff0c…

Cartographer前后端梳理

0. 简介 最近在研究整个SLAM框架的改进处,想着能不能从Cartographer中找到一些亮点可以用于参考。所以这一篇博客希望能够梳理好Cartographer前后端优化,并从中得到一些启发。carto整体是graph-based框架,前端是scan-map匹配,后端…

安卓APP+TCP+服务器端

1、在.xml文件中添加权限 <uses-permission android:name"android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name"android.permission.INTERNET"/>2、修改显示界面 <?xml version"1.0" encoding"utf-8&…

C++11续——智能指针(出现原因至源码模拟)

前言&#xff1a;在C11里面提出了一个新的语法 try catch用来捕捉异常&#xff0c;这样子能不使用return和exit的前提下退出程序就得到错误信息&#xff0c;但是随之而来的就是一个新的问题&#xff0c;try catch退出程序之后可能带来了无法释放的内存泄露问题&#xff0c;原因…

资料同化 | 搭建docker环境-1

Community Gridpoint Statistical Interpolation (GSI) system DTC 是一个分布式设施&#xff0c;NWP 社区可以在这里测试和评估用于研究和操作的新模型和技术。 DTC的目标包括&#xff1a; 链接研究和操作社区 研究成果转化为实际操作的速度 加快改善天气预报 开发和测试有…

NSSCTF | [SWPUCTF 2021 新生赛]babyrce

打开题目&#xff0c;显示了一个php脚本 我们来分析一下这个脚本是什么意思 <?php error_reporting(0); header("Content-Type:text/html;charsetutf-8"); highlight_file(__FILE__); if($_COOKIE[admin]1) {include "../next.php"; } elseecho &quo…

深入解析RedisJSON:在Redis中直接处理JSON数据

码到三十五 &#xff1a; 个人主页 JSON已经成为现代应用程序之间数据传输的通用格式。然而&#xff0c;传统的关系型数据库在处理JSON数据时可能会遇到性能瓶颈。为了解决这一问题&#xff0c;Redis推出了RedisJSON模块&#xff0c;它允许开发者在Redis数据库中直接存储、查询…

Ceph集群扩容及数据再均衡原理分析

用户文件在Ceph RADOS中存储、定位过程大概包括&#xff1a;用户文件切割成对象、对象映射到PG、PG分组PGP、PG映射到OSD。这些过程中&#xff0c;可能涉及了大量概念和变量&#xff0c;而其实它们大部分是通过HASH、CRUSH等算法计算出来的&#xff0c;初始参数可能也就只有这么…

号卡极团分销管理系统 ue_serve.php 任意文件上传漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

caj文件是什么?caj是什么文件?考研学生赶紧收藏!

在学术研究的广阔领域中&#xff0c;尤其是对于那些致力于深入研究、不断拓宽知识边界的考研学子们来说&#xff0c;了解并掌握各种学术资源的获取与利用方法显得尤为重要。其中&#xff0c;CAJ文件作为一种常见的学术文件格式&#xff0c;其重要性和使用频率不容忽视。那么&am…