一文读懂 RAG:它将如何重新定义 AI 的未来?

RAG 可以使 LLM 能够在实时请求提供事实信息时,访问外部来源的数据,比如经过审核的数据库或互联网上的信息。这样一来,RAG 就消除了大家对于 LLM 仅依赖其训练数据中获得的内部知识库的顾虑,毕竟,这些知识库可能存在缺陷或不完整。

如果你尝试使用过一些 LLM,那么,极有可能遇到的情况就是:当我们向 LLM 询问某个话题的最新情况的时候,得到的会是诸如「抱歉,我无法提供到2024年的实时数据」这样的回答。换句话说,这其实就是 LLM 的根本限制,也就是说,它们的知识本质上是在最后一次训练的时间点就被冻结了,并不能学习和记住新的信息,除非经过重新训练。

那么,这时候,就需要 RAG 技术来解决这个限制了。所以,RAG 究竟是什么?为什么如此重要?它又是如何工作的…

本文将针对以上种种问题,对 RAG 技术进行全面的探讨。

文章目录

  • 简介
  • RAG 是什么
  • 为什么需要 RAG
  • RAG 系统的组成
  • RAG 如何工作的
  • RAG 的优势
  • RAG 的挑战和局限性
  • RAG 的应用
  • 总结

RAG 是什么?

RAG,全称为 Retrieval-Augmented Generation,即检索增强生成。从名字上我们就可以得出一些关于「RAG 是什么」信息:它可以通过信息检索从外部知识库来获取更多的信息和数据,它结合了传统的大语言模型(LLM)和信息检索的功能。

举个例子来理解就是,想象一下,作为一个记者,如果要报道某个事件的最新进展,你会怎么做?首先是调研事件,收集相关的文章或者报告,然后使用这些信息来撰写新闻故事。对于 LLM,RAG 采取了类似的方法。「检索」就是收集相关信息,而「生成」则是使用这些信息来撰写新闻稿。

为什么需要 RAG

我们可以用一个例子,来帮助我们理解 为什么需要 RAG。

假设你是一家做线上店铺的商家,你的商品销量都特别好,会经常性地需要上架新商品或者下架已售罄的商品。你现在需要一个智能客服机器人(比如 GPT-3 或者 GPT-4)来回答用户关于商品详情、库存、价格等各类问题的查询。

然而,现在的问题就是,LLM 有以下这些限制,有可能会为你的买家带来不好的体验:

信息缺乏针对性

LLM 仅限于提供基于其训练数据的通用答案。如果买家要询问与你的店铺或者商品相关的问题,传统的 LLM 可能无法提供准确的答案。因为它们没有使用你店铺上的数据进行特别的训练。此外,LLM的训练数据往往都有一个截止日期,限制了它们提供最新信息的能力。

gpt-no-info.png

虚构回答

LLM 有可能会「虚构回答」,这是什么意思呢?就是说它们可能会基于不存在的事实来自信地生成错误的回答。同时,如果它们没有针对于用户的查询的准确回答,这样的算法就有可能提供完全不着边的答案,也就是我在之前的文章中所说的「胡说八道」,这会带来非常不好的用户体验。

通用回答

LLM 通常会提供不针对特定情境的通用回答。这在一些特定场景下,其实是属于比较大的缺陷了。所以现在市面上出现了更多的体量不那么大的,专门针对于特定领域的 LLM。

关于一些特定领域的开源 LLM,可以参考:github.com/HqWu-HITCS/…

RAG 系统的组成

RAG 不只是单一的一个组件或者一个程序,而是一个系统。RAG 系统是一个由多个组件组成的复杂系统,LLM 只是其中的一个组件。

RAG 系统的组件包括:

  • 数据源:存储了要检索的信息,例如商品数据库、店铺信息等等。
  • 数据处理模块:负责将数据转换为适合 RAG 系统使用的格式,例如进行数据切块(Chunking)和生成文档嵌入(Embedding)。
  • 检索器(Retriever) :负责根据用户查询从数据源中检索相关信息,使用基于关键词的搜索、文档检索或结构化数据库查询等检索技术来获取相关数据。
  • 排序器(Ranker) :通过评估检索信息的相关性和重要性来对其进行优化,确保最相关的信息呈现给 LLM 用于内容生成。
  • 生成器(Generator) :负责获取检索并排序的信息以及用户的原始查询,并通过 LLM 生成最终的响应或输出。生成器确保响应与用户的查询保持一致,并纳入从外部源检索到的事实性知识。

RAG 系统会根据用户查询从数据源中检索相关信息,然后将这些信息传递给 LLM 进行处理,LLM 会利用这些信息生成最终的回复。

gpt-new-info.png

RAG 是如何工作的?

既然我们已经了解了 RAG 是什么以及 RAG 系统的组成,那么,现在就来看一下,RAG 系统具体的工作流程是怎么样的。

数据收集

首先,需要收集特定的应用程序所需要的所有数据。比如,针对于线上店铺,需要收集商品信息,库存信息,折扣信息等等。

数据分块(Chunking)

数据分块是指将数据源分解成更小、更易于管理的小块数据的过程。通过这种方式,每块数据都聚焦于一个特定的主题。当 RAG 系统从数据源检索信息时,它更可能直接找到针对于用户查询相关的数据,这样就避免了来自整个数据源的一些无用信息。同时,这种方式也提高了系统的效率,可以快速获取最相关部分的信息,而不是处理整个数据集。

文档嵌入(Embedding)

现在数据源已经被分解成更小的部分,需要将其转换为向量(Vector)表示,这就涉及将文本数据转换为嵌入(Embedding)。

可以简单地理解为:嵌入(Embedding)就像是将事物的特征压缩成一串数字,而向量(Vector)就是这串数字的有序排列,就像是一条线上的一串点。

处理用户查询并生成回答

当用户查询进入系统时,也必须将其转换为嵌入(Embedding)或向量(Vector)表示。为了确保文档和查询嵌入之间的一致性,必须使用相同的模型来处理。

当查询转换为嵌入之后,系统就会将查询嵌入与文档嵌入进行比较。它使用诸如余弦相似度(cosine similarity)和欧几里得距离(Euclidean distance)等算法来识别和检索与查询嵌入最相似的数据块。

通过 LLM 生成回答

检索到的文本块连同用户初始查询一起被输入 LLM 中,算法将利用这些信息通过聊天界面生成对用户问题的一致回复。

以下是一张简化的 RAG 系统的工作流程图。

rag-process.png

RAG 的优势

RAG 的主要优势之一是能够提供更符合上下文语境的回答,同时,它还可以提高回答的准确性,尤其对于需要对话题进行深入理解的复杂问题。此外,RAG 可以针对特定行业进行微调,使其成为适用于各种应用的多功能工具。

与预训练模型不同,RAG 的内部知识可以很容易地被修改甚至实时补充。这使得研究人员和工程师能够控制 RAG 所知道和不知道的内容,而无需浪费时间或计算能力重新训练整个模型。

当然,RAG 还有更多的其他优势:

  • 增强连贯性:外部语境的整合确保了 RAG 生成的内容保持逻辑流畅性和连贯性,尤其是在生成较长的文本或叙述的的情况下,显得极其重要。
  • 通用性:RAG 用途广泛,可以适应各种任务和查询类型。它们不局限于特定领域,可以提供各种主题的相关信息。
  • 效率:RAG 可以高效地访问和检索来自大型数据源的信息,与手动搜索相比节省了时间。这种效率对于一些需要快速响应的应用程序(例如聊天机器人)中就显得非常重要了。
  • 内容摘要:RAG 适用于通过选择最相关的信息并生成简洁摘要来总结冗长文档或文章。
  • 多语言能力:RAG 可以访问和生成多种语言的内容,使其适用于国际应用程序、翻译任务和跨文化交流。
  • 决策支持:RAG 可以通过提供经过充分研究的、基于事实的信息来支持决策过程,帮助医疗、金融、法律等领域的各种决策做出明智的选择。
  • 减少人工工作量:RAG 减少了手动研究和信息检索的需求,从而节省了人力和资源。这在需要处理大量数据的情况下尤其有价值。
  • 创新应用:RAG 为创新的 NLP 应用打开了大门,包括智能聊天机器人、虚拟助手、自动内容生成等等,增强了用户体验和工作效率。

RAG 的挑战和局限性

尽管 RAG 有那么多的优势,但并不意味着这项技术就没有挑战和局限性。

主要挑战之一在于模型的复杂性管理。将 RAG 系统的检索器和生成器集成到单个模型中会导致模型复杂度很高。当存在来自不同格式的多个外部数据源时,这种复杂性会增加。不过,我们可以通过分别训练检索器和生成器来缓解这一问题,这可以简化训练过程并降低所需的计算资源。

另一个挑战是确保 LLM 能够有效利用检索到的信息。LLM 存在忽略检索到的文档而仅仅依赖其内部知识的风险,从而导致生成的响应准确性或相关性降低。我们可以通过根据检索器输出结果对 LLM 进行微调来解决这个问题,确保它能够充分利用检索到的文档。

然而,即使采用了这些解决方案,在使用 RAG 时依然有一些限制需要考虑:

  • 搜索工具和数据的质量:RAG 生成回答的质量在很大程度上取决于搜索工具和数据的质量。如果搜索工具无法检索到相关和准确的文档或者检索到的数据质量不够好,那么回答的质量也将会下降。
  • 可扩展性:随着数据量的增加,维护 RAG 系统将会变得更具挑战性。有许多复杂的操作和任务需要执行,例如生成嵌入、比较不同文本片段之间的含义以及实时检索数据,由于这些操作和任务都是计算密集型,所以,随着源数据大小的增加,可能会使系统变慢。
  • 有限的内部知识:完全忽略语言模型的内部知识会限制可回答问题的数量。虽然检索到的文档可以提供额外的信息,但模型的内部知识对于生成准确和相关的响应仍然至关重要。

虽然有这些挑战的局限性,RAG 仍然具有巨大的潜力。随着持续的研究和开发,这些问题可能会得到解决,让 RAG 技术成为人工智能领域更加强大的工具。

RAG 的应用

问答系统

这也许是 RAG 技术最突出的应用,这些系统能够从大型知识库中检索相关信息,然后生成流畅的答案。

文本摘要生成

RAG 可以利用来自外部来源的内容来生成准确的摘要,从而节省大量时间。借助支持 RAG 的应用程序,他们可以快速提取文本数据中最关键的发现,并做出更有效的决策,而无需阅读冗长的文档。

个性化推荐

RAG 系统可以用于分析客户数据来生成产品推荐。RAG 应用程序可以根据用户观看历史记录和评分来推荐一些流媒体平台上更好看的电影,还可以用于分析电商平台上的商品评论。

由于 LLM 擅长理解文本数据背后的语义,因此 RAG 系统可以为用户提供比传统推荐系统更加细致的个性化建议。

以上是一些通用案例,我将在以后的文章中,带领你一起利用相关的框架来构建属于你自己的 RAG 应用。

总结

RAG 技术是一种强大的工具,可以增强 LLM 的能力。通过结合预训练语言模型的强大功能以及检索和利用外部信息的能力,提供更准确和与上下文更相关的回答。尽管存在一些挑战和局限性,RAG 的未来依然有着强大的可能性。随着 AI 领域的不断进步,RAG 这样的工具一定会更加完善,这些工具将在塑造我们的数字未来方面发挥至关重要的作用。

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

在这里插入图片描述

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

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

img

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

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

img

三、AI大模型经典PDF籍

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

img

在这里插入图片描述

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

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

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

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

相关文章

论文研读 Disentangled Information Bottleneck

解耦信息瓶颈 摘要: 信息瓶颈方法是一种从源随机变量中提取与预测目标随机变量相关的信息的技术,通常通过优化平衡压缩和预测项的IB拉格朗日乘子f来实现,然而拉格朗日乘子很难优化,需要多次实验来调整拉格朗日乘子的值&#xff0c…

【TS】入门

创建项目 vscode自动编译ts 生成配置文件 tsc --init 然后发现终端也改变了:

飞跨电容型的三电平(FC-NPC)逆变器simulink仿真模型

本人搭建了飞跨电容型的三电平逆变器simulink仿真模型,相较于二极管钳位型三电平逆变器而言,钳位二极管变为飞跨的电容。采用SPWM调制和均流均压控制,通过搭建仿真模型得到三电平波形。 三电平拓扑中的飞跨电容是指在电路的输出端使用电容来实…

创建一个即时打印XML报表

即时打印的XML报表不需要创建PLSQL程序包,功能顾问良师益友,写个简单的XML报表还是可以的。 其步骤大致分为如下: 创建XML文档。 创建RTF模板。 创建数据源和上传RTF模板。 创建请求并添加到你需要的请求组。 以下具体说明: 创建XML文档,其包括如下部分: 分别是参数、触…

付费文章合集第二期

☞☞付费文章合集第一期 感谢大家一年来的陪伴与支持! 对于感兴趣的文章点标题能跳转原文阅读啦~~ 21、Matlab信号处理——基于LSB和DCB音频水印嵌入提取算法 22、CV小目标识别——AITOD数据集(已处理) 23、Matlab信号发生器——三角波、…

API低代码平台介绍3-异构数据源的数据查询功能

异构数据源的数据查询功能 在上一篇文章中我们通过API平台定义了一个最基本的数据查询接口,本篇文章我们将上升难度,在原有接口的基础上,实现在MySQL数据库和Oracle数据库同时进行数据查询。   什么场景会需要同时对异构数据源进行查询&…

专业的保密网文件导入导出系统,让文件流转行为更可控安全

军工单位因其涉及国防安全和军事机密,对保密工作有极高的要求,通常会采取严格的网络隔离措施来保护敏感信息和提高网络安全性。常见的方式是通过物理隔离将网络彻底分隔开来,比如保密网和非保密网。网络隔离后,仍有数据交换的需求…

网络加密机的工作原理是什么

网络加密机是一种专用于网络通信加密的硬件设备,其重要性在现代信息技术和网络安全领域愈发凸显。随着网络技术的迅速发展和全球化进程的加快,网络传输的数据量急剧增加,数据安全问题也随之成为了一个亟待解决的问题。网络加密机正是为了解决…

异构图神经网络代码详解与实战

相关代码地址见文末 1.数据读取 数据采用的是电影推荐的数据集,movies.csv文件存储为电影及其题材。 ratings.csv下存储为用户对电影的评分。 数据集的读取流程为: 首先,读取movies.csv并将题材根据词的出现,转换为one-hot编码的形式读取ratings.csv,将movie_id和…

智慧生活:AI工具如何改变我们的工作与生活

文章目录 📑前言一、常用AI工具:便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用:不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

TEINet: Towards an Efficient Architecture for Video Recognition 论文阅读

TEINet: Towards an Efficient Architecture for Video Recognition 论文阅读 Abstract1 Introduction2 Related Work3 Method3.1 Motion Enhanced Module3.2 Temporal Interaction Module3.3 TEINet 4 Experiments5 Conclusion阅读总结 文章信息; 原文链接:https:…

【MATLAB源码-第206期】基于matlab的差分进化算法(DE)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 差分进化算法(Differential Evolution, DE)是一种有效的实数编码的进化算法,主要用于解决实值函数的全局优化问题。本文将详细介绍差分进化算法的背景、原理、操作步骤、参数选择以及实际应…

2024最新从0部署Django项目(nginx+uwsgi+mysql)

云服务器 我这里用的是腾讯云免费试用的2H4Gcentos服务器(后升级为2H8G,保险一点提高内存) 因为网上很多关于django部属的教程都是宝塔啊,python版本控制器啊这种的,我也误打误撞安装了宝塔面板,但这里我…

vulnhub靶场之FunBox-5

一.环境搭建 1.靶场描述 Lets separate the script-kids from script-teenies.Hint: The first impression is not always the right one!If you need hints, call me on twitter: 0815R2d2 Have fun...This works better with VirtualBox rather than VMwareThis works bett…

39-5 入侵检测系统(IDS)- 安装配置IDS(注意我没安装成功,阅读需谨慎)

官网:Snort Rules and IDS Software Download 参考: (这位大佬分享了安装包下载链接):https://www.cnblogs.com/taoyuanming/p/12722263.html (安装过程参考这位大佬):Snort 安装与配置(CentOS 7)_centos 7 snort-CSDN博客一、安装 IDS(我这里在 CentOS 7 虚拟机中安…

QT学习(1)——创建第一个QT程序,信号和槽,打开关闭窗口的案例

目录 引出规范和帮助文档创建第一个Qt程序对象树概念信号signal槽slot自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自定义信号重载带参数的按钮触发信号触发信号拓展 lambda表达式返回值mutable修饰案例 打开关闭窗口案例 总结 引出 QT学习(1&#…

5个巨好用的论文查重降重/aigc降重网站!

给大家分享5个巨好用的论文查重降重,aigc降重网站! 1、checkbug↙:每天免费查重一次!用超级降重改全文,ai在线改写段落,智能查降查本系统一遍过稿,有套餐!支持aigc降低!…

精密机械设备运用弧形导轨中如何保持高精度?

导轨精度标准是对导轨的精度统一规定,无论是滑移运动、滑块运动还是旋转运动,都有一定的精度规格。而导轨精度标准是为了保证导轨运动时的精确度而设定的精度标准,它是规定各种导轨的精度统一标准,是机械设备的运动精度基础和保障…

履带车配置 一些小细节

履带车配置 一些小细节 485/CAN模式 自动识别上电后第一帧是485还是CAN指令,就进入对应通讯模式用485通讯这个驱动器通讯可以了,你再接CAN通讯,这个驱动器必须断电重启一下;不能在通电模式下切换 驱动器拨码开关 两个驱动器的…

家电无缝连接的奥秘—通过酷开系统实现智能家居互联互通

智能家居是消费升级与技术升级的共同产物,是时代发展的必然结果,日渐深入人心也是大势所趋。酷开科技智慧AI,让智慧家居成为生活中的一部分,以酷开系统为中心,实现家庭内智能家居的连接,并可通过酷开系统进…