RAG技术的进化:RQ-RAG查询优化/化繁为简Adaptive-RAG智能分类/精准出击

嘿,亲爱的算法探险家们!欢迎来到RAG技术的“奇幻冒险”之旅!🎢 今天,咱们要一起探索的是如何让大语言模型(LLM)从“呆萌小学生”进化成“机智博士生”的奇妙旅程!

想象一下,你正在和一个超级聪明的AI聊天,但它有时候会像个小迷糊,回答得让你哭笑不得。这时候,RAG技术就像是个“AI教练”,帮助它变得更聪明、更精准。但传统的RAG技术还不够完美,它就像是个“只会按部就班的老师”,虽然能纠正错误,但不会主动优化问题。

于是,Adaptive-RAG和RQ-RAG这两位“超级英雄”闪亮登场了!🦸‍♂️🦸‍♀️ 它们不仅能让AI更聪明,还能根据问题的复杂性,动态调整策略,甚至还能把复杂的问题拆解成简单的小问题,就像是个“问题界的拆弹专家”!

所以,亲爱的探险家们,准备好你们的“智慧背包”,咱们要一起踏上这场充满惊喜和挑战的RAG技术冒险之旅了!🚀🌟 记住,幽默和智慧是咱们的最佳拍档,让我们一起笑对挑战,勇往直前吧!😄👏

高级RAG技术:查询分类与优化

在这里插入图片描述

虽然传统的RAG技术可以缓解LLM(大语言模型)回答的不准确性,但它并没有对初始查询进行任何增强。这一点在图1的红框中有所展示。

None

图1:传统RAG技术的局限性

这种方法可能会导致一些潜在问题,例如:

  • 系统可能会消耗过多的计算资源来处理简单查询。
  • 对于复杂查询,仅使用原始查询进行检索往往无法收集到足够的信息。
  • 对于可能有多个答案的模糊查询,使用原始查询进行信息检索显得不足。

本文将介绍两种高级解决方案:查询分类和查询优化。这两种方法通过训练小模型都展示了改进效果。最后,文章将讨论从这两种算法中获得的见解和思考。

Adaptive-RAG:通过问题复杂性学习适应检索增强的大语言模型

总体流程

Adaptive-RAG引入了一种新的自适应框架。如图2所示,它根据查询的复杂性动态选择最适合LLM的策略,从最简单到最复杂不等。

None

图2:不同检索增强LLM方法的概念比较。来源:Adaptive-RAG。

图2(A)表示一种单步方法,首先检索相关文档,然后生成答案。然而,这种方法对于需要多步推理的复杂查询可能不够准确。

图2(B)象征一种多步过程,涉及迭代文档检索和中间响应的生成。尽管这种方法有效,但对于简单查询来说效率低下,因为它需要多次访问LLM和检索器。

图2(C)是一种自适应方法,它使用精心构建的分类器来确定查询的复杂性。这增强了选择最适合LLM检索策略的能力,可能包括迭代、单步甚至无需检索的方法。

为了更直观地理解Adaptive-RAG的流程,我们将结合代码进行解释。目前有四个版本的代码:官方版本、Langchain版本、LlamaIndex版本和Cohere版本。我们将使用LlamaIndex版本进行解释。

详情请参考这个Jupyter Notebook。代码较长,因此这里只讨论关键部分:

# 我们将使用之前创建的 `QueryEngines` 和 `FunctionCallingAgentWorker` 创建工具。
query_engine_tools = [QueryEngineTool(query_engine=lyft_2020_query_engine,metadata=ToolMetadata(name="lyft_2020_10k_form",description="仅与 2020 年 Lyft 财务活动相关的查询。",),),QueryEngineTool(query_engine=lyft_2021_query_engine,metadata=ToolMetadata(name="lyft_2021_10k_form",description="仅与 2021 年 Lyft 财务活动相关的查询。",),),QueryEngineTool(query_engine=lyft_2022_query_engine,metadata=ToolMetadata(name="lyft_2022_10k_form",description="仅与 2022 年 Lyft 财务活动相关的查询。",),

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

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

相关文章

11:00开始面试,11:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

渗透测试中发现ak/sk泄露时的验证工具

项目地址:https://github.com/libaibaia/cloudsec启动命令:java -jar cloudSec-1.2.2-SNAPSHOT.jar 访问:http://localhost:8000/#/admin/login 默认用户名密码:admin/admin123 注:8000 端口运行,如占用先…

【蓝桥杯】重点冲刺

【最高优先级】必考核心算法(占分60%以上) 动态规划(DP) 🌟🌟🌟 背包问题:01背包、完全背包(必须掌握空间优化的一维写法) 线性DP:最长上升子序列(LIS)、最长公共子序列(LCS) 路径问题:网格路径计数(含障碍物)、最小路径和 经典模型:打家劫舍、股票买卖问…

蓝桥杯python编程每日刷题 day 20

题目: 给定一个长度为 N 的整数序列:A1, A2, , AN。现在你有一次机会,将其中连续的 K 个数修改成任意一个相同值。请你计算如何修改可以使修改后的数列的最长不下降子序列最长,请输出这个最长的长度。 最长不下降子序列是指…

游戏引擎学习第185天

回顾并计划今天的内容 我们完成了开始整理这些数据的工作,但我们还没有机会真正去查看这些数据的具体内容,因为我们只是刚刚开始了数据整理的基本工作。我们收集了大量的信息,但到目前为止,仍然没有足够的可视化工具来帮助我们理…

协议学习——1 NCDSSB

上次面试NCDssb, 今天特意学习下,除了物理层的定义,其实再很多物理层的书上都有,主要是讲下RRC曾怎么玩的。 配置在专用BWP上配置,切实BWP的专用部分

pom.xml与.yml,java配置参数传递

pom.xml与 .yml java配置参数传递 在Java项目中,通过 pom.xml 和 .yml 文件(如 application.yml)传递变量通常涉及 构建时(Maven)和 运行时(Spring Boot)两个阶段的配置。以下是具体的实现方法&…

【解决】:VSCode 中识别不到电脑中的已安装的 Git

# 问题 自己电脑中明明已经安装了 git ,但在 vscode 中确识别不到。——————————(问题一样就看下去,不一样早早润。省流!!!!🚀) # 【第一步】首先要确认你电脑中…

gogs私服搭建

一.介绍: gogs是一个用Go语言开发的自助Git服务,目标是简单、快速搭建Git服务, 支持多种平台,包括Linux、Windows等。它类似于GitHub,但更轻量,适合个人或小团队使用, 在简化git服务搭建流程的…

数位和相等

问题描述 如果一个正整数转化成二进制与转换成八进制后所有数位的数字之和相等,则称为数位和相等的数。 前几个数位和相等的正整数为 11, 88, 99, 6464,…… 请问第 2323 个数位和相等的正整数是多少? import java.util.Scanner; public …

Java-servlet(九)前端会话,会话管理与Cookie和HttpSession全解析

Java-servlet(九)前端会话,会话管理与Cookie和HttpSession全解析 前言一、什么是会话二、会话管理1. 隐藏的表单域2. 网址重写3. 使用 Cookie3.1 Cookie 的工作流程3.2 Java 中的方法,Cookie 类 三、Cookie 的实现1. 创建 Cookie2…

uniapp开发中store的基本用法和模块化详解

在 UniApp 开发中,状态管理是非常重要的一部分,尤其是在复杂的应用场景下。Vuex 是 Vue.js 的官方状态管理库,可以帮助开发者集中管理应用的状态数据。UniApp 作为基于 Vue.js 的跨平台开发框架,也支持使用 Vuex 进行状态管理。 以下是关于 Vuex 在 UniApp 中的详细用法介…

手写数据库MYDB(一):项目启动效果展示和环境配置问题说明

1.项目概况 这个项目实际上就是一个轮子项目,现在我看到的这个市面上面比较火的就是这个首先RPC,好多的机构都在搞这个,还有这个消息队列之类的,但是这个是基于MYSQL的,我们知道这个MYSQL在八股盛宴里面是重点考察对象…

基于Spring Boot的电动车智能充电服务平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【AI学习】人工神经网络

1,人工神经网络(Artificial Neural Networks,ANNs,连接模型,Connection Model) 模仿动物神经网络行为特征(突触联接的结构),进行分布式并行信息处理的算法数学模型。依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。 2,前馈神…

场馆预约小程序的设计与实现

摘 要 时代在进步,人们对日常生活质量的要求不再受限于衣食住行。现代人不仅想要一个健康的身体,还想拥有一身宛如黄金比例的身材。但是人们平常除了上下班和上下学的时间,其余空余时间寥寥无几,所以我们需要用体育场馆预约来节省…

笔记:纯真IP库

最近需要使用到ip解析成对应的地域,查找了一些资料,发现纯真ip库,这个比较好用,而且社区版可以获得免费授权。 纯真ip库官网地址:https://www.cz88.net/ python版本git地址:https://github.com/tagphi/cz…

骨密度以及骨密度测量,测量方案,意义;提高;实现方案

骨密度及骨密度测量 骨密度(Bone Mineral Density, BMD) 是指骨骼单位体积或单位面积内矿物质(主要是钙和磷)的含量,是评估骨骼强度的重要指标。骨密度降低可能导致骨质疏松,增加骨折风险。 简单分析效果&…

MySQL 体系结构与存储引擎

目录 一、MySQL 体系结构 1. 连接层 (Connection Layer) 2. 服务层 (Server Layer) 3. 存储引擎层 (Storage Engine Layer) 二、MySQL 核心存储引擎比较 1. InnoDB (默认引擎) 2. MyISAM 3. Memory (HEAP) 4. 其他存储引擎 三、InnoDB 存储引擎深度解析 1. 核心架构组…

知识就是力量——物联网应用技术

基础知识篇 一、常用电子元器件1——USB Type C 接口引脚详解特点接口定义作用主从设备关于6P引脚的简介 2——常用通信芯片CH343P概述特点引脚定义 CH340概述特点封装 3——蜂鸣器概述类型驱动电路原文链接 二、常用封装介绍贴片电阻电容封装介绍封装尺寸与功率关系&#xff1…