小白学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

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【设计模式】行为型设计模式之 策略模式学习实践

介绍 策略模式(Strategy),就是⼀个问题有多种解决⽅案,选择其中的⼀种使⽤,这种情况下我们 使⽤策略模式来实现灵活地选择,也能够⽅便地增加新的解决⽅案。⽐如做数学题,⼀个问题的 解法可能有…

【STM32】基于I2C协议的OLED显示(利用U82G库)

【STM32】基于I2C协议的OLED显示(利用U82G库) 文章目录 【STM32】基于I2C协议的OLED显示(利用U82G库)一、实验背景二、U8g2介绍(一)获取(二)简介 三、实践(一)CubexMX配置(二)U8g2配…

SPSS 27.0.1 IF026 软件安装教程

软件介绍 SPSS是一款统计产品与服务解决方案的软件,最初软件全称为“社会科学统计软件包”(SolutionsStatistical Package for the Social Sciences) 下载链接 https://pan.quark.cn/s/fb683999be3e 安装步骤 1、双击运行点击解压 2、进入解压后文件 3、右键管…

流批一体计算引擎-9-[Flink]中的数量窗与时间窗

1 数量窗 1.1 数量滚动窗口 0基础学习PyFlink——个数滚动窗口(Tumbling Count Windows) 1.1.1 代码分析 Tumbling Count Windows是指按元素个数计数的滚动窗口。 滚动窗口是指没有元素重叠的窗口。 (1)构造了一个KeyedStream,用于存储word_count_data中的数据。…

铸铁机械5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

铸铁机械5G智能工厂工业物联数字孪生平台,推进制造业数字化转型。工业物联数字孪生平台以5G技术为基础,通过工业物联网连接铸铁机械生产过程中的各个环节,运用数字孪生技术构建虚拟工厂,实现生产过程的实时监测、模拟与优化&#…

【因果推断python】28_面板数据和固定效应2

目录 固定效应 固定效应 为了方面后面更正式地讲述,让我们首先看一下我们拥有的数据。按照我们的例子,我们将尝试估计婚姻对收入的影响。我们的数据包含多年以来多个个体 (nr) 的这两个变量,married 和lwage。请注意,工资采用对数…

java之IO流和集合框架的笔记

1 File类的使用 1.1 概述 File类及本章下的各种流,都定义在java.io包下。 一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录(俗称文件夹),与平台无关。(体会万事万物皆对象) File 能新建、删…

10_Transformer预热---注意力机制(Attention)

1.1 什么是注意力机制(attention) 注意力机制(Attention Mechanism)是一种在神经网络中用于增强模型处理特定输入特征的能力的技术。它最早被应用于自然语言处理(NLP)任务中,特别是在机器翻译中,如Google的…

Shell脚本和变量

文章目录 Shell脚本shell的解释器Shell的作用Shell脚本的构成Shell的执行方式 重定向操作变量变量的类型:变量名的规范变量值的规范整数运算 + - / %小数运算 小数运算 Shell脚本 脚本就是可运行的代码的集合,脚本语言&#xff…

hadoop_概念

前言: 本篇文章仅用于个人学习笔记,仅限于参考,内容如有侵权,请联系删除,谢谢! 一:大数据简介 大数据概念 : 指无法在一定时间范围内用常规软件工具进行捕管理和处理的数据集合,…

30岁迷茫?AI赛道,人生新起点

前言 30岁,对于许多人来说,是一个人生的分水岭。在这个年纪,有些人可能已经在某个领域取得了不小的成就,而有些人则可能开始对未来的职业方向感到迷茫。如果你正处于这个阶段,那么你可能会问自己:30岁转行…

lubuntu / ubuntu 配置静态ip

一、查看原始网络配置信息 1、获取网卡名称 ifconfig 2、查询网关IP route -n 二、编辑配置文件 去/etc/netplan目录找到配置文件,配置文件名一般为01-network-manager-all.yaml sudo vim /etc/netplan/01-network-manager-all.yaml文件打开后内容如下 # This …

美团强势领涨恒指,港股即将迎来触底反弹?

恒指早间低开低走,持续低位徘徊,一度试探万八关口,最低见17994点,市场情绪表现疲弱,大型科技股普遍走低,但主要指数午后回升,恒生科技指数率先转涨,美团(3690.HK)涨超4%领涨成分股&a…

网络数据库后端相关面试题(其三)

18, 传输控制协议tcp和用户数据报协议udp有哪些区别 第一,tcp是面向字节流的,基本的传输单位是tcp报文段;而udp是面向报文的,基本传输单位是用户数据报。 第二, tcp注重安全可靠性,连接双方在…

1997-2022年各省农村居民人均可支配收入数据(无缺失)

1997-2022年各省农村居民人均可支配收入数据(无缺失) 1、时间:1997-2022年 2、来源:国家统计局、统计年鉴 3、范围:31省 4、指标:农村居民人均可支配收入 5、缺失情况:无缺失 6、指标解释…

数据结构---力扣225.用队列实现栈(C

1.链接:. - 力扣(LeetCode)【点击即可跳转】 思路: 栈 是 后进先出 队列 是 先进先出 (始终保持一个队列为空的思路) 入数据: 往 不为空的队列 中入 出数据: 把不为空的队列数…

Java使用Hutool工具类轻松生成验证码

一、效果展示 二、Hutool工具类实现验证码生成 2.1 引入依赖 <!--hutool工具包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.15</version> </dependency2.2 简单实现方…

如何实现单例模式及不同实现方法分析-设计模式

这是 一道面试常考题&#xff1a;&#xff08;经常会在面试中让手写一下&#xff09; 什么是单例模式 【问什么是单例模式时&#xff0c;不要答非所问&#xff0c;给出单例模式有两种类型之类的回答&#xff0c;要围绕单例模式的定义去展开。】 单例模式是指在内存中只会创建…

C文件操作

目录 1. 为什么要使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 二进制文件和文本文件 ​编辑4.文件的打开和关闭 4.1 流和标准流 4.1.1 流 4.1.2 标准流 4.2 文件指针 4.3 文件的打开和关闭 5. 文件的顺序读写 5.1 顺序读写函数介绍 5.1.1 …

Python pandas openpyxl excel合并单元格,设置边框,背景色

Python pandas openpyxl excel合并单元格&#xff0c;设置边框&#xff0c;背景色 1. 效果图2. 源码参考 当涉及到比较复杂的设置背景色时&#xff0c;需要根据一些结果去对另一些单元格进行设置时&#xff0c;在行列上只能设置一种颜色&#xff0c;否则会被覆盖&#xff1b; 比…