认识一下RAG

news2025/2/6 7:55:11


1.RAG技术背景与挑战

2.RAG的核心概念

3.RAG的工作流程与架构

4.RAG的优化方法

RAG的提出

•Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks是一篇重要的论文(2020年5月)

•REALM: Retrieval-Augmented Language Model Pre-Training (2020)就将BERT预训练模型和一个可微的检索模型  结合起来实现了这一思路,但REALM只探索了抽取式开放域问答。而本文作者面向更难的生成式开放域问答, 提出了 基于seq2seq结构的检索增强生成模型(retrieval-agumented generation, RAG)。

LLM时代的RAG

•  LLM难以更新维护知识、不易掌握长尾知识、以及泄露私人训练数据的风险。

•  RAG 引入大模型的上下文学习 (In-Context Learning, ICL) 中,可以有效减轻上述问题。

•  在推理过程中, RAG 动态地从外部知识源中检索信息,并利用这些检索到的数据作为组织答案 的参考。这极大地提高了答案的准确性和相关性, 有效地解决了大语言模型中的幻觉式错误问 题。

•  RAG(中文为检索增强生成)  = 检索技术 + LLM 提示。 巧妙地结合了生成模型的强大功能和检 索模块的灵活性是解决LLM在知识的局限性、幻觉问题、数据安全性的一套有效方案,

RAG的工作流程与架构

RAG 对比微调

•  RAG 和微调可以相互补充,而非相互排斥。

  准确性: RAG 通过关联外部知识来提高答案的准确性,有效减少了语言模型中出现的虚假信息,使得 生成的回答更加准确可信。

•  及时性:使用检索技术能够识别到最新的信息,这使得 RAG 在保持回答的及时性和准确性方面,相 较于只依赖训练数据的传统语言模型有明显优势。

•  信任度:通过引用信息来源,用户可以核实答案的准确性,增强了人们对模型输出结果的信任。

  个性化:通过索引与特定领域相关的文本语料库, RAG 能够为不同领域提供专业的知识支持。

  安全性: RAG 通过数据库中设置的角色和安全控制,实现了对数据使用的更好控制。相比之下,经过 微调的模型在管理数据访问权限方面可能不够明确。

  经济性: RAG 在处理大规模数据集方面更具有扩展性。无需更新所有参数和创建新的训练集。

RAG的工作流程与架构(演变)

RAG的优化路径:

查询重写

RAG优化-分层索引

RAG优化-语句窗口检索器

RAG优化- 自动合并检索器(或父文档检索 器)

混合检索

编码器微调

 有做过一项测试,对 bge-large-en-v1.5 编码器进行微调,发现对于检索效果提升影

响有限。因为针对搜索优化的最新 Transformer 编码器已经非常高效

排序器微调

•  如果不完全信任基础编码器,可以使用交叉编码器对检索到的结果进行重排。

这个过程是这样的:你把查询和每个前 k 个检索到的文本块一起送入交叉编码器,中 间用 SEP (分隔符) Token 分隔,并对它进行微调,使其对相关的文本块输出 1,对  不相关的输出 0。一个这种微调过程的成功案例可以在这里找到,结果显示通过交叉  编码器微调,成对比较得分提高了 4%

LLM 微调

•  让模型利用了提供的上下文来生成答案。

RAG2.0的到来

RAG-评估

• 忠诚性:强调回复内容必须忠诚于上下文(指检索得到的内容)

• 答案相关性:答案必须是回答给定问题的。

• 上下文相关性:这里是要求检索到的内容必须足够和问题相关, 强调的是检索模块的能力。

• 抗噪性:检测生成模块对噪音(问题无关) 信息的抵抗能力。

• 无答案拒答:在无答案或者内容不正确的情况下拒绝回答的能力。

• 信息整合能力:考察模型能否集成多个文档的内容来回答复杂问 题的能力。

rageval

https://github.com/CLUEbenchmark/SuperCLUE- RAG

RAG中如何处理文档中的图表

目前,主要的表格处理技术包含以下几种:

1.利用多模态LLM(如GPT-4V)来识别表格并从每个PDF页面中提取信息;

2.利用专业的表格检测模型(如TableTransformer),来辨别表格结

3.使用开源框架(如unstructured或者目标检测模型。这些框架可以对整个文档进行全面的解析,并

从解析的结果中提取与表相关的内容;

4.使用Nougat、Donut等端到端模型(不需要OCR)来解析整个文档并提取与表相关的内容,允许容易地

检索表标题。

表格内容如何索引

为了尽可能保留表格内的信息,表格的索引技术大多使用@文档摘要索引结构。

小块的内容可以是来自表的每一行的信息或表的摘要。

大块的内容可以是图像格式、纯文本格式或LaTeX格式的表。

当前最主流的解决方案是:

  1. 1.表格解析:使用Nougat,它的表格检测比unstructured的更有效,此外, Nougat可以很好地提取表格标题,非常方便与表格关联
  2. 2.文档摘要索引结构:小块的内容包括表格摘要大块的内容包括LaTeX格式的相应表格和文本格式的表格标题。
  3. 3.表格摘要获取方法:将表格和表格标题发送给LLM进行摘要。这种方法的优点是,它可以有效地解析表,同时综合考虑表摘要和表之间的关系,而且还不需要多模型LLM的需求,
  4. 从而节省了成本。

• Open RAG

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

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

相关文章

Go微服务: 服务限流原理, 负载均衡与API网关

微服务里面的限流 (uber/limit)概述 go 微服务保稳三剑客: 熔断,限流,负载均衡限流的作用 限制流量,在服务端生效 注意:熔断是客户端生效 保护后端服务 餐厅吃饭排队的问题,提供凳子,让等候,这就…

创建k8s deploy yaml文件的imagePullSecrets语句

镜像仓库是harbor kubectl create secret docker-registry key --docker-server192.168.0.190 --docker-usernameadmin --docker-passwordHarbor12345

【网络安全入门】什么是网络安全?

如今,组织的信息系统和数据面临着许多威胁。而人们了解网络安全的所有基本要素是应对这些威胁的第一步。 网络安全是确保信息完整性、机密性和可用性(ICA)的做法。它代表了应对硬盘故障、断电事故,以及来自黑客或竞争对手攻击等防御和恢复能力。而后者包…

解析数据科学,探索ChatGPT背后的奥秘

在当今这个由数据驱动和AI蓬勃发展的时代,数据科学作为一门融合多种学科的综合性领域,对于推动各行各业实现数字化转型升级起着至关重要的作用。近年来,大语言模型技术发展态势强劲,为数据科学的进步做出了巨大贡献。其中&#xf…

如何保护企业邮箱数据安全?看这里

在数字化时代,电子邮件已成为日常生活和商务交流的重要工具。然而,随着网络威胁的日益严峻,确保电子邮件通信的安全性至关重要。在此背景下,电子邮件SSL证书(Secure Sockets Layer Certificate)作为一项关键…

面试算法-175-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视…

架构设计-灰度发布系统架构设计

灰度发布的定义 互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统。 灰度发布系统的作用,可以根据配置,将用户的流量导到新上…

vue webpack打包配置生成的源映射文件不包含源代码内容、加密混淆压缩

前言:此案例使用的是vue-cli5 一、webpack源码泄露造成的安全问题 我们在打包后部署到服务器上时,能直接在webpack文件下看到我们项目源码,代码检测出来是不安全的。如下两种配置解决方案: 1、直接在项目的vue.config.js文件中加…

微信预约怎么做_体验便捷的服务

在这个快节奏的时代,时间显得格外珍贵。无论是工作还是生活,我们都渴望能够用最短的时间完成更多的事情。在这样的背景下,微信预约应运而生,成为我们追求高效、便捷生活的新宠。今天,就让我们一起探讨微信预约的魅力&a…

40.原子累加器

java8之后,新增了专门用于计数的类,LongAccumulator,LongAdder的性能高于AtomicLong。 LongAdder 性能 > AtomicLong 性能 性能高的原因:如果都往一个共享变量上面进行累加,那么比较重试的次数肯定就多;如果分成几…

欧拉函数(模板题)

给定 n 个正整数 ai,请你求出每个数的欧拉函数。 欧拉函数的定义 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 输出共 n 行,每行输出一个正整数 ai 的欧拉函数。 数据范围 1≤n≤100, 1≤ai≤2109 输…

云仓酒庄培训人数破大世界基尼斯纪录,社会影响力持续发酵

近日,云仓酒庄举办的《综合品酒师》培训活动圆满落幕,其参与人数之众,规模之大,成功刷新了大世界基尼斯纪录,引发了社会各界的广泛关注与热烈讨论。这一事件不仅彰显了云仓酒庄在酒类培训领域的专业化与系统化&#xf…

探索C# 11与.NET 7:入门指南与跨平台开发

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

为什么那么多人喜欢Python?学习Python能为我们带来哪些优势?

Python是现在最火的编程语言,没有之一。那么,相对于其他语言,为什么那么多人喜欢Python?学习Python能为我们带来哪些优势?今天,小编就来和大家探讨一下! 1、如果想成为一名程序员的话&#xff…

博将资本荣获杭州市清廉民营企业建设示范单位

2024年3月25日,杭州召开全市清廉民营企业建设现场推进会,引导广大民营企业家努力把清廉民企建设成效转化企业发展的强劲动力,形成杭州民营经济领域风清气正的良好生态。省纪委、省委统战部、省工商联相关领导,市直16家相关单位分管…

如何下载省,市,区县行政区Shp数据

摘要:一般非专业的GIS应用通常会用到省市等行政区区划边界空间数据做分析,本文简单介绍了如何在互联网上下载省,市,区县的shp格式空间边界数据,并介绍了一个好用的在线数据转换工具,并且开源。 目录 一、下…

10. Spring MVC 程序开发

本文源码位置: Spring-MVC 1. Spring MVC 概要 摘自Spring官方: Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes …

安卓手机怎么连接电脑?这三个方法即刻解决!

随着智能手机的普及,我们越来越依赖手机进行工作和娱乐。然而,有时候我们需要将手机上的数据或文件传输到电脑上,或者需要在电脑上进行某些操作。那么,安卓手机怎么连接电脑呢?这篇文章将为你介绍三种简单的方法&#…

0.5W 3KVDC 隔离 单输出 DC/DC 电源模块 ——TPR-W5 系列

TPR-W5系列是一款需要隔离和电压转换的产品,工业级环境温度,温度范围从–40℃到105℃,用于PCB安装的国际标准结构。此系列产品小巧,效率高,低输出纹波及提供3000V以上的直流电压隔离,用于需要隔离的场合&am…

Linux下SPI设备驱动实验:创建SPI节点及SPI设备子节点

一. 简介 SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动。主机控制器驱动一般由半导体厂商写好,我们来编写SPI设备驱动代码。 前一篇文章分析了 IMX6U系列芯片的 SPI中片选信号的处理,文章如下: I.MX6ULL SPI 主机控…