检索增强生成RAG技术入门介绍(非常详细)零基础入门到精通,收藏这一篇就够了

591 篇文章 35 订阅
40 篇文章 0 订阅

01

引言

今天,我将介绍检索增强生成(RAG),并演示一些应用。稍后,我们将进行一些应用 RAG 的动手实验。所有代码和数据都可以在文末GitHub 软件仓库中找到,您可以随时查看。

闲话少说,我们直接开始吧!

02

什么是RAG?

让我们先来了解一下 RAG。RAG 是一种增强大型语言模型的强大技术。在我看来,我们应该关注如何更好地应用大型语言模型,而 RAG 是最有效的方法之一,尤其是对开发人员而言。

大型语言模型有一些固有的局限性。由于缺乏外部知识,它们可能提供误导或幻觉信息。由于训练数据有截止日期,它们依赖的可能是过时的信息。例如,GPT-3 是在 2021 年之前训练的。在训练数据之外,他们对细分主题缺乏深度和针对性。训练和微调 LLM 的计算成本很高,对许多组织来说是不可行的。这些模型无法显示其知识来源,也无法在提供敏感数据时确保隐私合规。

RAG 可以大大提高生成内容的准确性和相关性。在生成文本之前,它首先会从外部数据库或文档中检索相关信息。

举个例子:假设有网友问:“OpenAI 的首席执行官山姆-奥特曼(Sam Altman)在短短三天内经历了董事会的突然解聘,又被公司重新聘用,在权力动态方面类似于现实版的《权力的游戏》,你如何评价?”

ChatGPT 无法准确回答这个问题,因为事件发生在 2021 年之后。有了 RAG,我们将首先检索相关文档,提取关键片段,如 “山姆-奥特曼重返 OpenAI 担任首席执行官,硅谷戏剧类似喜剧”、“戏剧结束了?山姆-奥特曼将重返 OpenAI 担任首席执行官,董事会将进行重组”、"OpenAI 的人事动荡告一段落,谁胜谁负?这三个片段将合并到提示词中,为问题提供上下文。然后,大语言模型可以根据检索到的信息生成一个连贯的答案。

03

RAG时间轴和技术

和RAG相关的时间轴和技术可归纳总结如下:

回顾历史,RAG 起源于学术界,主要有三种方法:预训练、微调和推理检索。最近,更多实用技术侧重于推理时检索。此外,在 2022 年之前,几乎没有人提出 RAG 技术。然而,在 2023 年之后,我们可以看到各种 RAG 技术的蓬勃发展。

RAG 在生成响应之前,会首先从外部知识源检索相关信息,从而提高 LLM 输出的精确度和相关性。经典的基本 RAG 流程(也称为 Naive RAG)主要包括三个基本步骤。

  • Indexing: 文件被分割成较短的文本块,并使用编码器模型在矢量数据库中制作索引。

  • **Retrieval:**根据问题与语块之间的相似性找到相关语块。

  • **Generation:**LLM 根据检索到的上下文生成答案。

高级 RAG 范式涉及检索前和检索后的额外处理优化:

  • 在检索之前,可以使用查询重写、路由和扩展等方法来调整问题和文档块之间的语义差异。

  • 检索后,对检索到的文档语料进行重新排序可以避免 "迷失在中间 "现象,也可以对上下文进行过滤和压缩,以缩短窗口长度。

此外,还引入了模块化 RAG。在结构上,它更加自由灵活,引入了更多具体的功能模块,如查询搜索引擎和多答案融合。在技术上,它将检索与微调、强化学习和其他技术相结合。在流程上,RAG 模块经过设计和协调,形成了各种 RAG 模式。

下图显示了 RAG 分流的详细信息,包括增强阶段(预训练、微调、推理)、增强来源(非结构化数据、结构化数据、LLM 生成的内容)、增强过程(一次检索、迭代检索、自适应检索、递归检索)。

下图显示了 RAG 相关术语及其参考文献。

04

RAG功能应用

通过比较可以更好地了解 RAG。RAG 就像是给模型提供了一本定制化信息检索的教科书,非常适合特定的查询。让我打个比方来解释一下。RAG 给模型提供了一个外部知识源,就像给学生提供了一本开卷考试的教科书。然而,微调就像学生逐渐掌握适合特定任务的知识一样,随着时间的推移,学生正在将知识内化,更适合模仿特定的结构、风格或格式。

根据外部知识和模型定制的需要,RAG 和微调各有其适当的应用。同时使用这两种方法可以实现最佳性能。RAG 需要对模型进行少量调整,但需要大量外部知识;而微调则需要对模型进行大量调整,但需要的外部数据较少。在大多数情况下,将 RAG、微调和 Prompt Engineering 结合在一起可以获得最佳结果。

05

RAG评估

在实施 RAG 后,全面的评估至关重要,它使用三个质量分数,如上下文相关性、答案保真度和答案相关性。评估涉及四个关键能力,即抗噪声能力、拒绝能力、信息整合能力和反事实分析能力。RGB 和 RECALL 等标准化基准以及 RAGAS、ARES 和 TruLens 等自动评估工具可用于评估 RAG 系统。

06

RAG的未来

RAG 功能强大,但也面临一些挑战。如果上下文窗口较大,性能可能无法提高。很难保证检索的稳健性并过滤低质量内容。检索到的不正确内容可能会毒害最终答案。平衡 RAG 和微调可能会很棘手。目前还不清楚较大的模型是否总能提高 RAG。需要进一步探讨 LLM 的作用。大规模生产 RAG 和保护敏感数据也是值得关注的问题。将 RAG 扩展到处理图像、音频和视频仍然是一个有待解决的问题。

但是,RAG 在问题解答、推荐系统、信息提取和报告生成方面大有可为。成熟的 RAG 技术堆栈正在蓬勃发展,如 Langchain 和 LlamaIndex,市场上还出现了更多有针对性的 RAG 工具,如定制工具和简化工具。因此,生态系统将继续扩大,为 RAG 量身定制新的工具。

07

RAG实战

到目前为止,我已经提供了 RAG 的高级概述。接下来,我将演示一些实际操作的 RAG 实验,以便您在自己的项目中应用这些技术。我有三个 Python 脚本,通过使用 LlamaIndex 来展示不同的 RAG 管道。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基本的 RAG 管道利用现有数据库增强了大型语言模型。在生成答案之前,查询首先会从数据库中检索相关上下文。

我们可以将文档分块成 64 个 token 的较小段落,每个段落有 2 个 token 重合。这些段落被编码成向量,并在向量数据库中编入索引。给定查询后,我们会搜索最相似的段落,将其打包成带问题的提示,并将其发送给语言模型以生成答案。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

句子窗口检索管道在我们需要更多上下文时非常有用。我们将文档分割成句子,而不是标记块。我们检索最相似的句子以及上一个和下一个句子,形成一个上下文窗口。上下文窗口会重新排序并提供给语言模型。

自动生成的检索管道为检索创建了一个层次结构。16 个小标记段落链接成 64 个标记段落,64 个标记段落又链接成 256 个标记段落。如果有足够多的小段落链接到父段落,它们就会被合并到父段落中。最后的语块将被重新排序和检索。这样就可以动态调整上下文的大小。

08

代码链接

上一小节实战的代码链接如下:

GitHub: https://github.com/HenryHengLUO/Retrieval-Augmented-Generation-Intro-Project

要使用该代码,首先要根据 python_env 文件夹下 NLP.yml 文件中提供的 yaml 文件创建 Python 虚拟环境。在 common 文件夹下的 openAI.env 文件中添加 OpenAI API 密钥。示例数据位于 data 文件夹下的 Henry.txt 文件中,但您也可以提供自己的文件。

基本管道将文档分块,在矢量数据库中建立索引,接受查询,检索类似段落,将它们打包成提示语,然后发送给语言模型。我们可以看到检索到的段落的原始出处。

句子-窗口管道在句子层面进行检索,用前两个句子和后一个句子扩展句子。通过重新排序来选择最相关的窗口。

自动生成管道建立了从 16 到 256 个词组的段落层次结构,并根据需要将段落合并为更大的片段。在保持精确度的同时,还能提供更长的语境。

代码设计为即插即用。配置好 API 密钥和虚拟环境后,您就可以将 RAG 应用到自己的文档和用例中。欢迎大家试用!

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

四、AI大模型商业化落地方案

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值