小白学RAG:大模型 RAG 技术实践总结

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。

针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。

汇总合集:

《大模型面试宝典》(2024版) 发布!


RAG (Retrieval-Augmented Generation) 是一种结合信息检索与生成模型的技术。其主要目标是通过检索大量信息并使用生成模型进行处理,从而提供更加准确和丰富的回答。RAG技术在处理大规模文本数据时表现尤为出色,能够从海量信息中迅速找到相关内容并生成合适的响应。

智谱RAG方案具体设计了如何将RAG技术应用到智能客服领域。方案包括以下几个关键环节:

  • 信息检索模块:从预先构建的知识库中快速找到与用户问题相关的内容。

  • 生成模块:利用先进的生成模型对检索到的信息进行加工和处理,生成符合上下文的答案。

  • 集成与优化:将检索和生成模块无缝集成,并通过持续的训练和优化提高系统的准确性和效率。

unsetunsetRAG 综述unsetunset

RAG技术在大模型(LLM, Large Language Models)中的应用非常广泛,是大模型落地最多的场景之一。通过RAG,客户可以咨询车辆功能、维护、最新技术或政策法规相关信息,从而提升客户服务与支持的效率。具体应用场景包括外部客服,结合RAG的LLM提供24/7客户服务,快速检索产品信息;文档撰写,通过RAG检索相关资料,生成高质量文档;图像生成与数据处理和分析,以及内部知识库的建立和维护。

在这里插入图片描述

RAG是一种将信息检索(Retrieval)与生成模型(Generation)结合的技术,通过先检索相关信息,再生成准确和上下文相关的回答或内容,来增强语言模型的性能。RAG技术通常包含以下三个关键步骤:

1. 索引 (Indexing)

在索引阶段,系统会对大量的文档、数据或知识库进行预处理和索引,以便于快速检索。索引的过程包括将文本数据转换为易于搜索的格式,并构建高效的数据结构,使得在需要时可以快速找到相关信息。

2. 检索 (Retrieval)

检索阶段是RAG技术的核心之一。当用户提出问题或请求时,系统会从预先索引的文档或知识库中快速检索出最相关的信息。检索模块通常使用高级搜索算法和相似度计算来找到与用户输入最匹配的内容。

3. 生成 (Generation)

在生成阶段,系统会使用先进的生成模型(如GPT等)对检索到的信息进行处理和整合,生成连贯且上下文相关的回答或内容。生成模型利用检索到的信息作为背景知识,确保生成的结果更加准确和有针对性。

RAG的优势

RAG(Retrieval-Augmented Generation)技术结合了信息检索和生成模型的优势,解决了许多传统语言模型的局限性,具体优势如下:

1. 减少模型的生成幻觉

生成幻觉(Hallucination)是指语言模型在生成内容时,有时会产生不准确或虚假的信息。RAG通过首先检索相关的真实信息,然后生成基于这些信息的回答,从而显著减少生成幻觉的发生,提高回答的准确性和可信度。

2. 知识及时更新

由于RAG依赖于外部知识库或文档的检索,系统可以更容易地通过更新这些外部资源来保持最新的知识。这意味着即使模型本身没有重新训练,也能通过更新检索数据库来反映最新的信息和变化。

3. 避免人工整理FAQ

传统的FAQ系统需要人工整理和维护,而RAG技术能够自动从大量的文档和知识库中检索和生成答案,减少了人工整理和更新FAQ的负担,提高了效率。

4. 增加了答案推理

RAG技术不仅能够检索相关信息,还可以利用生成模型进行复杂的答案推理。这使得系统不仅能够提供直接的事实性回答,还能对复杂问题进行更深层次的分析和解答。

5. 增加内容生成的可追溯性

由于RAG在生成答案时依赖于检索到的真实文档和数据,生成的内容具有可追溯性。用户可以追溯到答案来源,验证信息的准确性和可靠性,增强了系统的透明度和用户信任。

6. 增加问答知识范围的管理权限

通过使用RAG技术,系统管理员可以更好地管理和控制问答知识的范围。管理员可以通过更新和管理检索数据库,确保系统回答的内容在预期的知识范围内,避免提供不相关或不准确的信息。

RAG vs Long Context

RAG和长文本(Long Context)技术在处理大量文本时,针对成本因素有着不同的优势。

以GPT-4为例,对于一篇20万字的小说提问:

  • 长文本(Long Context):如果将整个20万字的文本输入给模型,大约需要9元。

  • RAG:而对于RAG,只需召回约6*600个字(即3,600字),然后再输入给模型,这大约只需要0.25元。

这里的关键点在于RAG技术的使用,它不需要将所有20万字的文本都输入给模型,而是根据需要从文本中召回并选择性地输入给模型,从而大大降低了成本。相比之下,长文本的处理需要更高的成本,因为它要求模型处理更大量的文本。

技术交流

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了算法岗面试与技术交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区,后台回复:技术交流
方式②、添加微信号:mlc2040,备注:技术交流+CSDN

unsetunset智谱RAG方案unsetunset

智谱RAG方案是一套完整的技术解决方案,旨在实现基于RAG(Retrieval-Augmented Generation)技术的智能问答系统。以下是该方案的技术方案全景:

在这里插入图片描述

文件上传与解析
  • 文件上传:用户上传需要检索的文档或知识库。

  • 文件解析:对上传的文件进行解析,提取其中的文本内容。

切片与索引
  • 切片:将文档内容按照设定的切片长度进行分割。

  • 路由:根据切片内容构建索引,以便快速检索。

数据库构建与优化
  • Small to Big:从小规模数据构建起,逐步扩展至大规模数据库。

  • 剔除无关信息:在构建数据库时,剔除无关信息,提高检索效率。

  • 识别目录、标题等:识别文档中的目录结构、标题等元信息,方便用户检索。

查询处理与优化
  • Query改写:对用户提出的查询进行改写,以提高召回率和准确性。

  • Query拓展:对查询进行语义补全,以丰富搜索结果。

  • 排序:使用rerank模型对搜索结果进行排序,提高结果的相关性。

文章类型匹配与索引
  • 文章类型匹配规则:根据文章类型制定不同的匹配规则,以确保搜索结果的准确性。

  • Query索引:将用户提问进行向量化,并建立查询索引,加速检索过程。

多路召回与语义检索
  • 多路召回:使用多种召回方法,如关键词检索等,以增加召回率。

  • 语义检索:利用语义相似度算法,提高检索结果的相关性。

用户提问与答案输出
  • 用户提问:用户通过系统提出问题。

  • 输出答案:根据用户提问,系统从数据库中检索相关内容,并生成准确的回答。

Query拆解与LLM prompt模板
  • Query拆解:将用户提问进行拆解,以识别关键信息。

  • LLM prompt模板:根据拆解的信息,构建LLM(Large Language Models)的输入模板,以便于生成回答。

在文档解析与切片过程中,首先对文章内容进行解析,将图片转换成特定标识符以便后续处理,将表格改写成模型易于理解的HTML格式,并过滤掉页眉页脚等无关信息,以确保保留主要内容。

同时,还需要提取文档的结构信息,包括目录和标题,以便于后续检索和理解文档的结构,并确保知识的连续和完整性。在原始文档切片的基础上,扩展更多粒度更小的文档切片,当检索到粒度细致的切片时,会递归检索到其原始大切片,然后将原始节点作为检索结果提交给LLM(Large Language Models)进行处理。

在这里插入图片描述

在这里插入图片描述

unsetunsetRAG实践unsetunset

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

unsetunset未来展望unsetunset

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据集笔记:DGraph 大规模动态图数据集

dgraph-web (xinye.com) 1 数据集介绍 DGraph 是一个有向无权的动态图,包含超过 370 万个节点以及 430 万条动态边DGraph 中的节点表示金融借贷用户,有向边表示紧急联系人关系,每个节点包含脱敏后的属性特征,以及表示是否为金融…

算法:94. 二叉树的中序遍历--扩展前中后层序遍历

中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 中遍历结果为:H D I B E J A F K C G 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出&#x…

汇编语言作业(七)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验总结 一、实验目的 熟悉无符号数和有符号数乘法和除法指令的使用掌握无符号位扩展指令的使用掌握逻辑指令的使用 二、实验内容 1、编写一个汇编程序,要求从键盘中输入一个小写字母,将其转…

Python的Pillow(图像处理库)非常详细的学习笔记

Python的Pillow库是一个非常强大的图像处理库。 安装Pillow库: 在终端或命令行中输入以下命令来安装Pillow: pip install pillow 安装后查看是否安装成功以及当前版本 pip show Pillow 升级库: pip install pillow --upgrade 一些基…

【ARM Cache 及 MMU 系列文章 1.4 -- 如何判断 L3 Cache 是否实现?】

文章目录 Cluster Configuration Register代码实现什么是Single-Threaded Core?什么是PE(Processor Execution units)?Single-Threaded Core与PE的关系对比多线程(Multithreading)Cluster Configuration Register 同 L2 Cache 判断方法类似,ARMv9 中也提供了一个自定义…

for 、while循环

练习1:输入一个数,判断是否是完美数 完美数:正序和逆序的结果一致 练习2: * ** *** **** 练习3: **** *** ** * 练习4:输入一个数,计算最大公约数,以及最小公倍数 练习5&#xff…

程序设计实践--3

递推 一只小蜜蜂 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房&#xff0c;不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中&#xff0c;蜂房的结构如图所示。 输入描述 输入数据的第一行是一个整数N(1<n<1,000,000),表示测试实例的个数&#xff0c;然…

python-windows10普通笔记本跑bert mrpc数据样例0.1.048

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu进行训练进行预测注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的…

Java的自动装箱和自动拆箱

自动装箱和拆箱在Java开发中的应用与注意事项 在Java开发中&#xff0c;自动装箱&#xff08;Autoboxing&#xff09;和自动拆箱&#xff08;Unboxing&#xff09;是指基本数据类型与其对应的包装类之间的自动转换。这些特性可以使代码更加简洁和易读&#xff0c;但在实际项目…

【中颖】SH79F9202 串口通信

头文件 uart.h #ifndef UART_H #define UART_H#include "SH79F9202.h" #include "LCD.h" #include "timer2.h" #include "timer5.h" #include "cpu.h" #include "key.h" #include "io.h" #include &qu…

八股文系列Spark

为什么Spark 比 MapReduce 更快 DAG相比hadoop的mapreduce在大多数情况下可以减少磁盘I/O次数 因为mapreduce计算模型只能包含一个map和一个reduce,所以reduce完后必须进行落盘&#xff0c;而DAG可以连续shuffle的&#xff0c;也就是说一个DAG可以完成好几个mapreduce&#xf…

使用#sortablejs插件对表格中拖拽行排序#Vue3#后端接口数据

使用#sortablejs对表格中拖拽行排序#Vue3#后端接口数据 *效果&#xff1a; 拖动表格行排序 首先安装插件sortable npm install sortablejs --save代码&#xff1a; <template><!-- sortable.js 进行表格排序 --><!-- 演示地址 --><div class"dem…

【全开源】驾校练车管理系统源码(FastAdmin+ThinkPHP)

&#x1f698;驾校练车管理系统&#xff1a;让学车之路更顺畅&#xff01;&#x1f4c8; 一款基于FastAdminThinkPHP开发的驾校管理系统&#xff0c;驾校管理系统(DSS)主要面向驾驶学校实现内部信息化管理&#xff0c;让驾校管理者和工作人员更高效、更快捷的完成枯燥无味的工…

网球运动目标检测跟踪

基于yolo作为目标检测器实现目标检测&#xff0c;使用跟踪器进行跟踪&#xff0c;实现如下功能。 得到视频中的网球运动员&#xff0c;测量他们的速度、击球速度和平均值&#xff0c;方便球友。

我们离成功有多远呢?只要能完成自己阶段性的目标就算是一次成功

做起一个账号&#xff0c;带好一个团队&#xff0c;经营好一家公司&#xff0c;似乎这些都能叫成功&#xff0c;成功的定义可大可小&#xff0c;而我认为只要能完成自己阶段性的目标就算是一次成功&#xff0c;毕竟每个人学历、背景、阅历、资源、认知都不同&#xff0c;很难同…

RV32M指令集

RV32M指令集 1、乘法运算2、除法运算1、乘法运算 MUL 指令(得到整数32位乘积(64位中的低32位)) MUL 指令用于执行两个带符号或无符号整数之间的乘法运算。其语法如下: mul rd, rs1, rs2 它将寄存器 rs1 和 rs2 中的值相乘,并将结果写入寄存器 rd 中。如果 rs1 和 rs2 都是有…

Fiddler抓包工具详细使用教程

各位做测试的同学想必对抓包工具fiddler并不陌生&#xff0c;但是很多同学可能没有总结过它的用法&#xff0c;下面我总结了fiddler一些常用的用法。 Web端抓包配置 打开Fiddler&#xff0c;Tools -> Fiddler Options -> HTTPS 配置完后记得要重启Fiddler 选中Decrpt …

2024年智能制造行业CRM研究(附需求清单、市场格局、选型建议)

在国家大力鼓励智能制造行业与数字化转型这个大背景下&#xff0c;我们选择了2024年智能制造行业数字化的几个关键趋势做深入解读&#xff0c;并对智能制造行业核心的数字化系统CRM进行了全面评估与排名。本文不仅提供了详尽的需求清单&#xff0c;帮助企业明确自身对CRM系统的…

linux笔记8--安装软件

文章目录 1. PMS和软件安装的介绍2. 安装、更新、卸载安装更新ubuntu20.04更新镜像源&#xff1a; 卸载 3. 其他发行版4. 安装第三方软件5. 推荐 1. PMS和软件安装的介绍 PMS(package management system的简称)&#xff1a;包管理系统 作用&#xff1a;方便用户进行软件安装(也…

catia展开模型树

1 直接点号 2 选中零件&#xff0c;右击--命令--将图居中即可 一般都是上面这样有选择性的展开 如果要一次性都展开那