【AIGC】大模型面试高频考点-RAG篇

【AIGC】大模型面试高频考点-RAG篇

    • (1)RAG的基本原理
    • (2)RAG有哪些评估方法?
    • (3)RAG有哪些评估框架?
    • (4)RAG各模块有哪些优化策略?

(1)RAG的基本原理

RAG 检索增强生成由2部分构成:一是离线对异构的数据进行数据工程处理成知识,并存储在知识库中,二是基于用户的提问进行知识库的检索增强。详细步骤如下:

  • 加载文件
  • 读取文本
  • 文本分割
  • 文本向量化
  • 问句向量化
  • 在文本向量中匹配出与问句向量最相似的top k个
  • 匹配出的文本作为上下文和问题一起添加到 prompt中
  • 提交给LLM生成回答

原理如下图所示:

RAG Prompt模版

已知信息:{context}
根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该 问
题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。
问题是:{question}

(2)RAG有哪些评估方法?

主要有两种方法来评估 RAG 的有效性:独立评估和端到端评估。

(一)独立评估

介绍: 独立评估涉及对检索模块和生成模块(即阅读和合成信息)的评估。

(1)检索模块:

介绍: 评估 RAG 检索模块的性能通常使用一系列指标,这些指标用于衡量系统(如搜 索引擎、推荐系统或信 息检索系统)在根据查询或任务排名项目的有效性。

评估指标: 命中率 (Hit Rate)、平均排名倒数 (MRR)、归一化折扣累积增益 (NDCG) 、**精确度 (Precision) **等。

(2)生成模块:

介绍: 生成模块指的是将检索到的文档与查询相结合,形成增强或合成的输入。这与最 终答案或响应的生成不

同,后者通常采用端到端的评估方式。

评估指标: 关注上下文相关性,即检索到的文档与查询问题的关联度。

(二)端到端评估

介绍: 对 RAG 模型对特定输入生成的最终响应进行评估,涉及模型生成的答案与输入 查询的相关性和一致性。

无标签的内容评估:

评价指标:答案的准确性、相关性和无害性

有标签的内容评估:

评价指标:准确率 (Accuracy) 和精确匹配 (EM)

(3)RAG有哪些评估框架?

在 RAG 评估框架领域,RAGAS 和 ARES 是较新的方法。

1.RAGAS

RAGAS 是一个基于简单手写提示的评估框架,通过这些提示全自动地衡量答案的准确性、 相关性和上下文相关 性。

算法原理:

  • 答案忠实度评估: 利用大语言模型 (LLM) 分解答案为多个陈述,检验每个陈述与上下文 的一致性。最终,根 据支持的陈述数量与总陈述数量的比例,计算出一个“忠实度得分”。
  • 答案相关性评估: 使用大语言模型 (LLM) 创造可能的问题,并分析这些问题与原始问题 的相似度。答案相关性得分是通过计算所有生成问题与原始问题相 似度的平均值来得出的。
  • 上下文相关性评估: 运用大语言模型 (LLM) 筛选出直接与问题相关的句子,以这些 句子 占上下文总句子数量的比例来确定上下文相关性得分。

2.ARES

ARES 的目标是自动化评价 RAG 系统在上下文相关性、答案忠实度和答案相关性三个方 面的性能。ARES 减少了评估成本,通过使用少量的手动标注数据和合成数据,并应用预测 驱动推理 (PDR) 提供统计置信区间,提 高了评估的准确性。

算法原理:

  • 生成合成数据集: ARES 首先使用语言模型从目标语料库中的文档生成合成问题和答案,创 建正负两种样本。
  • 训练大语言模型 (LLM) 裁判: 然后,ARES 对轻量级语言模型进行微调,利用合成数据集 训练它们以评估上下 文相关性、答案忠实度和答案相关性。
  • 基于置信区间对RAG 系统排名: 最后,ARES 使用这些裁判模型为 RAG 系统打分,并结 合手动标注的验证集 ,采用 PPI 方法生成置信区间,从而可靠地评估 RAG 系统的性能。

(4)RAG各模块有哪些优化策略?

  • 文档块切分: 设置适当的块间重叠、多粒度文档块切分、基于语义的文档切分、文档块摘要。
  • 文本嵌入模型: 基于新语料微调嵌入模型、动态表征。
  • 提示工程优化: 优化模板增加提示词约束、提示词改写。
  • 大模型迭代: 基于正反馈微调模型、量化感知训练、提供大context window 的推理模型。此外,还可对query召回的文档块集合进行处理,如:元数据过滤、重排序减少文档块数量。

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

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

相关文章

标准操作规程(SOP)制定方法+模板指南

在企业的成功之路上,拥有制定、传播以及管理流程文档与详细步骤指南的能力至关重要。众多组织都将标准操作规程(SOP)作为指导其工作流程操作的核心文档形式。 但SOP的作用远不止于操作指南;它们更像是高性能车辆中的精密GPS系统。…

【拥抱AI】如何使用Milvus向量数据库进行数据库检索?

使用向量数据库进行数据库检索是一种高效的方法,特别是在处理大规模、高维度的数据时。以下是详细的步骤,帮助你理解和实施这一过程: 1. 准备环境 选择向量数据库 常见的向量数据库有: Faiss:由Facebook AI Resear…

硬件工程师零基础入门:一.电子设计安全要点与欧姆定律

硬件工程师零基础入门:一.电子设计安全要点与欧姆定律 第一节 电子设计安全要点第二节 欧姆定律 第一节 电子设计安全要点 电路小白最好先买直流稳压电源(将高压转成低压直流电)使用,尽量不要使用市电。 1.尽量不要捏住电源两端。 正确做法&a…

ShuffleNet:一种为移动设备设计的极致高效的卷积神经网络

摘要 https://arxiv.org/pdf/1707.01083 我们介绍了一种名为ShuffleNet的计算效率极高的卷积神经网络(CNN)架构,该架构专为计算能力非常有限的移动设备(例如10-150 MFLOPs)而设计。新架构利用两种新操作:逐…

python基础导包

Python项目代码结构与导包详解 目录 引言 Python项目的基本结构 2.1 单文件项目2.2 多模块项目2.3 包结构项目2.4 示例项目结构 模块与包 3.1 模块(Module)3.2 包(Package)3.3 子包(Subpackage) 导包&a…

学习Zookeeper

Zookeeper有手就行 1. 初识ZooKeeper1.1 安装ZooKeeper1.2 ZooKeeper命令操作1.2.1 Zookeeper数据模型1.2.2 Zookeeper 服务端常用命令1.2.3 Zookeeper客户端常用命令 2. ZooKeeperJavaAPl操作2.1 Curator介绍2.2 CuratorAPI常用操作2.2.0 引入Curator支持2.2.1 建立连接2.2.2 …

ctfshow-Misc入门(1-16)

misc1 查看图片得到flag misc2 1、打开文本,发现以“塒NG”开头 3、修改文件格式为png格式 4、查看图片,得到flag *遇到的问题:无法直接修改后缀名 *解决方法:需要点击文件夹,然后点击查看,将文件拓…

由于centos停更,yum、docker等不支持,采用阿里云仓库搭建K8S

一:准备 服务器信息主机名IP地址Centos7.9node1-master192.168.35.130Centos7.9node2192.168.35.131 # 查看系统版本 cat /etc/centos-release # 查看内核版本 uname -sr二:服务器前置操作 每个节点都需要操作 #使用 hostnamectl set-hostname设置主机…

什么是串口通信

串口通信(Serial Communications)是一种广泛使用的通信方式,特别是在计算机与外部设备之间的数据传输中。以下是对串口通信及其流程的详细介绍: 一、串口通信概述 定义:串口通信是指外设和计算机间,通过数…

Java 8 Stream API 在数据转换中的应用 —— 将列表转换为映射

文章目录 背景原因1. 数据库设计或约束问题2. 业务逻辑问题3. 测试数据4. 数据库同步问题5. 编程错误 如何避免和处理键冲突1. 数据库层面2. 业务逻辑层面3. 测试数据管理4. 代码层面示例代码 总结 背景 本文实际生产案例讲解配套文章:sysUserList 中为何会出现多个…

实践指南:EdgeOne与HAI的梦幻联动

在当今快速发展的数字时代,安全和速度已成为网络服务的基石。EdgeOne,作为腾讯云提供的边缘安全加速平台,以其全球部署的节点和强大的安全防护功能,为用户提供了稳定而高效的网络体验。而HAI(HyperApplicationInventor…

词云图大师(WordCloudMaster): 探索创意无限的词云世界!

在信息化时代,如何以一种新颖且富有创意的方式表达数据、文字或想法?答案是词云图!而词云图大师(WordCloudMaster),正是您的绝佳选择。 无论是个人创意项目,还是专业工作中的数据可视化,词云图大师都能以强…

二分法(折半法)查找【有动图】

二分法,也叫做折半法,就是一种通过有序表的中间元素与目标元素进行对比,根据大小关系排除一半元素,然后继续在剩余的一半中进行查找,重复这个过程直至找到目标值或者确定目标值不存在。 我们从结论往回推,…

PL/I语言的起源?Objective C语言起源哪里?JavaScript的起源?Java的起源?B语言的起源?C++语言的起源?C#的起源?

PL/I语言的起源 在20世纪50~60年代,当时主流的编程语言是COBOL/FORTRAN/ALGOL等,IBM想要设计一门通用的编程语言,已有的编程语言无法实现此要求,故想要设计一门新语言,即是PL/I. PL/I是Programming Language/One的缩写…

labview关于文件路径的问题

在调用文件或拆分文件的时候经常会用到拆分路径函数和创建路径函数,最常用的也是当前应用程序目录或者是当前VI目录。 这里我们看到应用程序目录和VI目录在同一项目中,应用程序目录更像是根目录,往下拆分成了各个VI的子目录。 接下来我们来拆…

Vue + Websocket播放PCM(base64转ArrayBuffer、 字符串转ArrayBuffer)

文章目录 引言I 音视频处理相关概念和APIII 案例:基于开源库 pcm-player方式播放借助MediaSource和Audio对象播放音频流。基于原生api AudioContext 播放操作III 格式转换js字符串转ArrayBufferbase64 转 ArrayBufferIV 解决pcm-player分片播放问题引言 需求: 基于webscoket传…

钉钉授权登录

一.找开钉钉开发平台【钉钉开放平台 (dingtalk.com)】 二。点击菜单【应用开发】->左边【钉钉应用】->【创建应用】 三。创建应用-》保存成功后,点击自己【新建的应用】,进入详细页面 四。进入应用详细页面。左边【分享设置】 注意:进…

kali中信息收集的一些常用工具

这里只是代表个人所见,所以肯定会有其他的没提到,希望大家体谅 前言 信息收集分为主动和被动的 主动就是通过自己的机器去和对方比如通信后获得的数据 被动是指不是在自己这里获取的,可以是第三方平台获取到的,与目标没有通信 …

Apple Vision Pro开发003-PolySpatial2.0新建项目

unity6.0下载链接:Unity 实时开发平台 | 3D、2D、VR 和 AR 引擎 一、新建项目 二、导入开发包 com.unity.polyspatial.visionos 输入版本号 2.0.4 com.unity.polyspatial(单独导入),或者直接安装 三、对应设置 其他的操作与之前的版本相同…

YB2503HV:高效率降压IC,助力电动车、太阳能设备等领域的能源转换

今天我要向大家介绍一款引人注目的产品—— YB2503HV 100V 3A SOP8内置MOS 高效率降压IC。这款单片集成芯片具备可设定输出电流的开关型降压恒压驱动器功能,可广泛应用于电动车、太阳能设备、电子电池充电等领域。让我们一起来看看它的特点和应用吧! 首先…