当前位置: 首页 > news >正文

Prompt-RAG:在特定领域中应用的革新性无需向量嵌入的RAG技术

论文地址:https://arxiv.org/ftp/arxiv/papers/2401/2401.11246.pdf

原文地址:https://cobusgreyling.medium.com/prompt-rag-98288fb38190

2024 年 3 月 21 日

虽然 Prompt-RAG 确实有其局限性,但在特定情况下它可以有效地替代传统向量嵌入 RAG 方法。

介绍

Prompt-RAG 与 RAG 类似,提供矢量数据库和无嵌入策略,以增强特定领域应用程序的大型语言模型 (LLM)。

与 RAG 不同,RAG 需要数据分块和向量嵌入来进行语义搜索和检索,Prompt-RAG 可以无缝运行,无需此类过程。

RAG

检索增强生成 (RAG) 将生成能力与信息检索技术无缝融合。

RAG 通过将大型语言模型 (LLM) 的稳健性与实时和上下文信息相结合,战略性地解决了生成模型的固有局限性。

结果是LLM生成的响应表现出自然和类人的品质,同时也是最新的、精确的,并且与所提供的查询在上下文上保持一致。

传统上,RAG 首先将输入查询转换为向量嵌入。

然后利用这些嵌入从矢量化数据库中检索相关数据。随后,RAG 的生成组件利用检索到的外部数据来制作上下文相关的响应。

在此过程中,嵌入模型生成模型都发挥着至关重要的作用,显着影响RAG的有效性并直接影响检索过程。

提示 RAG 步骤

Prompt-RAG 包含三个步骤:

  1. 预处理
  2. 标题选择
  3. 检索增强生成

来源

预处理

在初始阶段,根据文档创建目录 (ToC)至关重要。

这些文档与 Prompt-RAG 旨在解决的特定领域有着错综复杂的联系。

理想情况下,文档作者应该已经准备好目录。

但是,如果没有,可以手动制作。或者,可以部署大型语言模型 (LLM) 来生成 ToC,特别是在明确定义文档结构的情况下。

LLM 的上下文窗口大小显着影响目录和检索到的文档部分的大小。

为了优化标记大小,可以通过消除页眉、页脚、页码等元素来格式化文档。

这种格式可确保目录和检索部分中文档内容的简化和简洁表示。

标题选择

提示包括用户查询以及目录 (ToC),然后将其提供给大型语言模型 (LLM)。

LLM 旨在识别目录中与查询最相关的标题。

在某些情况下,可以选择多个标题,并且为了进一步细化选择,可以对文本进行总结。此摘要过程有助于缩小选项范围,确保所选标题与用户查询最相关。

可以根据预算和用于答案生成的生成模型的上下文窗口大小提前在提示中设置所选标题的数量。

一个重要的元素是优化提示以实现准确的 ToC 检索和令牌使用效率。

提示词注入

下一步涉及检索与所选标题相对应的文档部分,然后在推理过程中将其作为上下文引用注入到提示中。

注入到提示中的参考文本的大小必须小于 LLM 的上下文窗口大小,这一点至关重要。

为了确保符合此要求,可以采用大型语言模型 (LLM) 来总结、截断或以其他方式修剪检索到的“块”。

此过程对于调整参考文本以适应上下文窗口大小的约束并最小化标记使用是必要的,从而优化效率。

如果由于查询是问候语或随意对话而导致所选标题缺失,则不带参考部分的替代提示将传递到基于 GPT-3.5-turbo 的模型,以减少令牌使用并节省费用。

生成答案的提示如下所示:

You are a chatbot based on a book called {Book Name}. Here is a record of previous conversations:{history}Reference: {context}Question: {question}Use the reference to answer the question.The reference above is only fractions of '<>'.Be informative, gentle, and formal.If you can't answer the question with the reference, just say like 
'I couldn't find the right answer this time'.Answer in {Language of Choice}:

在提示模板下方,没有选择标题以供随意查询...

You are a chatbot based on a book called {Book Name}. Here is a record of previous conversation for your smooth chats.:{history}Question: {question}Answer the question.Be informative, gentle, and formal. 
Answer in {Language of Choice}:”

综上所述

即使 Prompt-RAG 没有独立使用,Prompt-RAG 研究的重要性也是不可否认的。在某些情况下,Prompt-RAG 可以充当更大的实施框架中的组件。

通过创新方法优化和利用即时工程与围绕应用程序构建更复杂的数据管理框架之间存在着永久的平衡。通常,随着实现的使用和复杂性的扩展,后一种方法往往会占主导地位。

然而,必须承认 Prompt-RAG 需要一个应用程序框架来监督数据流、验证输入和输出以及进行必要的数据操作。

传统RAG的缺点

  1. 优化文档块大小和管理重叠可能是一个挑战。
  2. 随着数据变化更新块和嵌入以保持相关性。
  3. 未针对少数语言实现进行优化
  4. 运行嵌入的额外成本
  5. 对于较小的实现来说很麻烦
  6. 对技术要求更高

传统 RAG 与 Prompt-RAG 相比的优势

  1. 扩展性良好
  2. 更多以数据为中心的方法
  3. 批量数据发现和数据开发对于企业实施仍然很重要。
  4. 一般来说,语义聚类是数据发现的一个重要方面,也是实施 RAG 的良好第一步。

Prompt-RAG 优点

  1. 非常适合规模较小、技术含量较低的实现和少数语言。
  2. 非常适合特定需求和实施
  3. 对于聊天机器人,某些意图可以路由到 Prompt-RAG 实现
  4. 简化
  5. 可以作为全面 RAG 实施的首次尝试
  6. 非梯度方法
  7. 可检查性和可观察性
  8. 旨在优化 Prompt-RAG 的数据发现和数据设计工具可以增加显着的价值。

Prompt-RAG 缺点

  1. 还是需要数​​据设计。
  2. 上下文窗口大小是一个障碍。
  3. Tokens使用量和成本会更高;这需要与嵌入模型tokens成本进行比较。
  4. 扩展和引入复杂性需要一个技术框架。
  5. 取决于 LLM 推理延迟和令牌使用成本。
  6. 需要创建内容结构。该研究主要集中于已有目录的文档。

相关文章:

Prompt-RAG:在特定领域中应用的革新性无需向量嵌入的RAG技术

论文地址&#xff1a;https://arxiv.org/ftp/arxiv/papers/2401/2401.11246.pdf 原文地址&#xff1a;https://cobusgreyling.medium.com/prompt-rag-98288fb38190 2024 年 3 月 21 日 虽然 Prompt-RAG 确实有其局限性&#xff0c;但在特定情况下它可以有效地替代传统向量嵌入 …...

线性代数 - 应该学啥 以及哪些可以交给计算机

AI很热&#xff0c;所以小伙伴们不免要温故知新旧时噩梦 - 线代。 &#xff08;十几年前&#xff0c;还有一个逼着大家梦回课堂的风口&#xff0c;图形学。&#xff09; 这个真的不是什么美好的回忆&#xff0c;且不说老师的口音&#xff0c;也不说教材的云山雾绕&#xff0c;单…...

力扣面试150 Pow(x, n) 快速幂 负指数

Problem: 50. Pow(x, n) 解题方法 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: O ( l o g 2 n ) O(log_{2}n) O(log2​n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public double myPow(double x, int n){if (x 0.0f)return 0.0d;long b…...

连接navicat报错2059 解决办法

这里写自定义目录标题 连接navicat报错2059 解决办法 连接navicat报错2059 解决办法 打开终端工具输入 mysql -hlocalhost -uroot -p回车&#xff08;enter&#xff09;&#xff0c;输入密码后进入 mysql 。&#xff08;PS&#xff1a; -h 后面是数据库地址&#xff0c; -u 后…...

Unity-UGUI系统

UGUI是什么 UGUI是Unity引擎内自带的UI系统官方称之为:Unity Ul 是目前Unity商业游戏开发中使用最广泛的UI系统开发解决方案 它是基于Unity游戏对象的UI系统&#xff0c;只能用来做游戏UI功能 不能用于开发Unity编辑器中内置的用户界面 六大基础组件 概述 Canvas EventS…...

配置AC和AP上报KPI指标信息实验

配置AC和AP上报KPI指标信息示例 组网图形 图1 AP直接上报KPI指标 图2 AP通过AC透传上报KPI指标 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 在云管理的ACFIT AP组网中&#xff0c;通过WMI上报机制&#xff0c;将AC和AP的KPI指标信息上报到iMast…...

深度学习Trick

Vscode查看文件目录 cmdshiftp选择->查看&#xff1a;将焦点置于辅助侧栏 View: Focus into Secondary Side Bar把主边栏的大纲拖入 快捷查看卷积过程&#xff0c;利用 torchinfo 在 model 下打断点F5 运行调试&#xff0c;F10 运行下一步在调试控制台输入from torchinfo…...

c++顺序表(连续插入删除)

Description 建立顺序表的类&#xff0c;属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为1000&#xff09; 该类具有以下成员函数&#xff1a; 构造函数&#xff1a;实现顺序表的初始化。 插入多个数据的multiinsert(int i, int n, int item[])函数&#x…...

[综述笔记]A Survey on Deep Learning for Neuroimaging-Based Brain Disorder Analysis

论文网址&#xff1a;Frontiers | A Survey on Deep Learning for Neuroimaging-Based Brain Disorder Analysis (frontiersin.org) 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论…...

【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、红黑树的概念二、红黑树的模拟实现2.1 结点2.2 成员变量2.3 插入情况一&#xff1a;uncle在左&#xff…...

政安晨:【Keras机器学习实践要点】(三)—— 编写组件与训练数据

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 介绍 通过 Keras&#xff0c;您可以编写自定…...

数据库系统概论(超详解!!!) 第四节 关系数据库标准语言SQL(Ⅲ)

1.连接查询 连接查询&#xff1a;同时涉及多个表的查询 连接条件或连接谓词&#xff1a;用来连接两个表的条件 一般格式&#xff1a; [<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2> [<表名1>.]<列名1> BETWEEN [&l…...

如何使用Python进行网络安全与密码学【第149篇—密码学】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 用Python进行网络安全与密码学&#xff1a;技术实践指南 随着互联网的普及&#xff0c;网络…...

应急响应-Web2

应急响应-Web2 1.攻击者的IP地址&#xff08;两个&#xff09;&#xff1f; 192.168.126.135 192.168.126.129 通过phpstudy查看日志&#xff0c;发现192.168.126.135这个IP一直在404访问 &#xff0c; 并且在日志的最后几条一直在访问system.php &#xff0c;从这可以推断 …...

复试专业前沿问题问答合集8-1——CNN、Transformer、TensorFlow、GPT

复试专业前沿问题问答合集8-1——CNN、Transformer、TensorFlow、GPT 深度学习中的CNN、Transformer、TensorFlow、GPT大语言模型的原理关系问答: Transformer与ChatGPT的关系 Transformer 是一种基于自注意力机制的深度学习模型,最初在论文《Attention is All You Need》…...

用Python做一个植物大战僵尸

植物大战僵尸是一个相对复杂的游戏&#xff0c;涉及到图形界面、动画、游戏逻辑等多个方面。用Python实现一个完整的植物大战僵尸游戏是一个大工程&#xff0c;但我们可以简化一些内容&#xff0c;做一个基础版本。 以下是一个简化版的植物大战僵尸游戏的Python实现思路&#…...

Win11文件右键菜单栏完整显示教程

近日公司电脑升级了win11&#xff0c;发现了一个小麻烦事&#xff0c;如下图&#xff1a; 当我想使用svn或git的时候必须要多点一下&#xff0c;这忍不了&#xff0c;无形之中加大了工作量&#xff01; 于是&#xff0c;菜单全显示教程如下&#xff1a; 第一步&#xff1a;管…...

【Python实用标准库】argparser使用教程

argparser使用教程 1.介绍2.基本使用3.add_argument() 参数设置4.参考 1.介绍 &#xff08;一&#xff09;argparse 模块是 Python 内置的用于命令项选项与参数解析的模块&#xff0c;其用主要在两个方面&#xff1a; 一方面在python文件中可以将算法参数集中放到一起&#x…...

伦敦金与纸黄金有什么区别?怎么选?

伦敦金与纸黄金都是与黄金相关的投资品种&#xff0c;近期黄金市场的上涨吸引了投资者的关注&#xff0c;那投资者想开户入场成为黄金投资者应该选择纸黄金还是伦敦金呢&#xff1f;两者有何区别呢&#xff1f;下面我们就来讨论一下。 伦敦金是一种起源于伦敦的标准化黄金交易合…...

化工企业能源在线监测管理系统,智能节能助力生产

化工企业能源消耗量极大&#xff0c;其节能的空间也相对较大&#xff0c;所以需要控制能耗强度&#xff0c;保持更高的能源利用率。 化工企业能源消耗现状 1、能源管理方面 计量能源消耗时&#xff0c;计量器具存在问题&#xff0c;未能对能耗情况实施完全计量&#xff0c;有…...

DALI DT6与DALI DT8介绍

“DT”全称Device Type&#xff0c;是DALI-2 标准协议中的IEC 62386-102(即为Part 102)部分对不同类型的控制设备进行一个区分。不同的Device Type代表不同特性的控制设备&#xff0c;也代表了这种控制设备拥有的扩展的特性。 在DALI&#xff08;数字可寻址照明接口&#xff09…...

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线&#xff0c;半双工就是一个数据线 5 6 7 8 9 10 TTL&#xff08;Transistor-Transistor Logic&#xff09;电平是一种数字电路中常用的电平标准&#xff0c;它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平&#xff0c;其中&#xff1a;…...

Word表格怎样插入自动序号或编号

在Word文档中编辑表格时&#xff0c;经常需要为表格添加序号或编号&#xff0c;可以设置为自动序号或编号&#xff0c;当删除行时&#xff0c;编号会自动变化&#xff0c;不用手工再重新编号。如图所示。 序号数据1数据21300300230030033003004300300 一&#xff0c;建立word表…...

shadcn/ui

文章目录 前言✅ 核心特点&#x1f4e6; 支持组件&#xff08;常用&#xff09;&#x1f680; 安装使用&#xff08;框架支持&#xff09;初始化&#xff08;Next.js 项目为例&#xff09;添加一个组件 &#x1f9e0; 对比其他组件库&#x1f4d8; 官方资源✅ 总结✅ 功能特性&…...

【知识点】第2章:Python程序实例解析

文章目录 知识点整理Python程序语法元素分析 练习题判断题填空题选择题 知识点整理 Python程序语法元素分析 Python程序包括格式框架、注释、变量、表达式、分支语句、循环语句、函数等语法元素。 程序的格式框架 Python语言采用严格的 “缩进” 来表明程序的格式框架。缩进…...

PDF文件转换之输出指定页到新的 PDF 文件

背景 一份 PDF 学习资料需要打印其中某几页&#xff0c;文件有几百兆&#xff0c;看到 WPS 有PDF拆分功能&#xff0c;但是需要会员&#xff0c;开了一个月会员后完成了转换。突然想到&#xff0c;会员到期后如果还要拆解的话&#xff0c;怎么办呢&#xff1f;PDF 文件拆解功能…...

视频监控汇聚平台EasyCVR安防小知识:如何通过视频融合平台解决信息孤岛问题?

一、项目背景与需求分析​ 随着数字化技术发展与网络带宽升级&#xff0c;视频技术应用场景不断拓展&#xff0c;视频监控、记录仪等多样化产品构建起庞大体系。但这些独立系统彼此割裂&#xff0c;形成信息孤岛。 在系统集成项目中&#xff0c;视频系统深度融合已成必然趋势…...

华为OD机试真题——二叉树中序遍历(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《二叉树中序遍历》: 目录 …...

VR 技术在农业领域或许是一抹新曙光​

在科技日新月异的今天&#xff0c;VR(虚拟现实)技术已不再局限于游戏、影视等娱乐范畴&#xff0c;正逐步渗透到各个传统行业&#xff0c;为其带来全新的发展契机&#xff0c;农业领域便是其中之一。VR 技术利用计算机生成三维虚拟世界&#xff0c;给予用户视觉、听觉、触觉等多…...

Spring AI 1.0 GA深度解析与最佳实践

随着人工智能技术的快速发展&#xff0c;Spring AI 1.0 GA 的发布标志着 Spring 生态在 AI 领域迈出了重要一步。本文将从原理、全景架构设计、最佳实践、性能测试对比等维度&#xff0c;全面解析如何基于 Spring AI 构建企业级 AI 应用&#xff0c;并以接入 DeepSeek 大模型为…...