RAG工作流在高效信息检索中的应用

图片

介绍

RAG(Retrieval Augmented Generation)是一种突破知识限制、整合外部数据并增强上下文理解的方法。

由于其高效地整合外部数据而无需持续微调,RAG的受欢迎程度正在飙升。

图片

让我们来探索RAG如何克服LLM的挑战!

LLM知识限制大型语言模型面临与知识的准确度和时效性相关的几个挑战。其中两个常见问题是幻觉和知识断裂。

幻觉:当模型自信地产生一个错误响应时发生。例如,如果一个模型声称“googly retriever”是一种真实的狗品种,那么这就是一种幻觉,可能导致误导性的信息。

图片

知识断裂:当LLM返回的信息根据模型的训练数据已经过时时发生。每个基础模型都有一个知识断裂,意味着其知识仅限于训练时可用的数据。例如,如果您询问模型关于最近一次NBA总冠军的获胜者,它可能会提供过时的信息。

图片

RAG提供了一种缓解这些挑战的技术。它使您能够为模型提供访问外部数据源的权限,通过引入事实上下文来减轻幻觉,并通过整合最新信息来克服知识断裂。

Retrieval-Augmented Generation(RAG)Retrieval-Augmented Generation(RAG)是一个多功能框架,使大型语言模型(LLMs)能够访问其训练数据之外的外部数据。RAG不局限于单个实现,它适应不同的任务和数据格式的多种方法。

它使LLM能够在运行时利用外部数据源,包括知识库、文档、数据库和互联网。这对于使用外部数据增强语言模型非常有价值,填补了其训练数据中未涵盖的知识差距。

图片

为了高效地从文档中检索信息,一种常见的做法是使用捕获语义意义的嵌入向量将它们索引到向量数据库中。此外,对大型文档进行分块以提高相关性并减少噪声,最终通过提供特定的上下文信息来增强模型的响应。

RAG框架

RAG框架中有两个关键模型:

RAG-序列模型:该模型利用相同的检索到的文档生成完整的序列。它将检索到的文档视为单个潜在变量,通过对前K个进行近似处理,通过边缘化得到序列到序列的概率。在此方法中,使用检索器检索前K个文档,生成器计算每个文档的输出序列概率。然后通过边缘化将这些概率组合起来。RAG-标记模型:在此模型中,可以为每个目标标记绘制不同的潜在文档,使生成器在产生答案时可以选择多个文档的内容。类似于RAG-序列模型,它检索前K个文档,然后为每个文档生成下一个输出标记的分布。对于每个输出标记重复此过程,并进行相应的边缘化处理。

图片

此外,RAG还可以用于序列分类任务,将目标类别视为单个序列目标。在这种情况下,RAG-Sequence和RAG-Token模型变得等效。

RAG的组件检索器:检索器(DPR)根据查询和文档索引检索相关文档。检索组件基于密集段落检索(DPR),并采用具有从BERT派生的密集和查询表示的双编码器架构。使用最大内积搜索(MIPS)算法选择具有最高先验概率的前K个文档。生成器:基于BART-large的生成器组件负责生成序列。它通过简单地连接输入和检索到的内容来结合它们。

图片

训练阶段在训练过程中,检索器和生成器共同进行训练,而无需直接监督要检索哪个文档。训练目标最小化每个目标的负边际对数似然。

解码阶段在解码阶段,RAG-Sequence和RAG-Token模型需要不同的方法。RAG-Token使用标准的自回归序列生成和束搜索解码器。相比之下,RAG-Sequence对每个文档运行束搜索,并使用生成器概率对假设进行评分。对于较长的输出序列,采用高效的解码方法以避免过多的前向传递。

RAG的实施和编排实施RAG工作流程可能很复杂,涉及从接受用户提示到查询数据库、分块文档以及协调整个流程的多个步骤。

图片

像LangChain这样的框架通过提供与LLMs和RAG等增强技术一起工作的模块化组件来简化此过程。LangChain包括用于各种输入格式的文档加载器、用于拆分文档的文档转换器以及其他组件,以简化基于LLM的应用程序的开发。

使用LangChain的RAG工作流程LangChain是一个全面的自然语言处理平台,在使RAG模型易于访问和高效方面发挥着关键作用。以下是LangChain如何适应RAG工作流程的方式。

图片

文档加载器和转换器LangChain提供了各种文档加载器,可以从各种来源获取文档,包括私有S3存储桶和公共网站。这些文档可以是各种类型,如HTML、PDF或代码。文档转换器组件负责准备这些文档以进行检索,包括将大型文档拆分为更小、更易于管理的块。

图片

文本嵌入模型LangChain中的文本嵌入模型旨在与各种文本嵌入提供商和方法进行接口,包括OpenAI、Cohere和Hugging Face。这些模型创建了文本的向量表示形式,捕捉其语义含义。这种向量化使得相似文本的高效检索成为可能。

向量存储随着嵌入技术的出现,需要高效的数据库来存储和搜索这些嵌入。LangChain提供了与超过50个不同的向量存储的集成,使您可以轻松选择最适合您需求的一个。

图片

检索器LangChain中的检索器提供了检索与查询相关的文档的接口。这些检索器可以使用向量存储作为其骨干,但还支持其他类型的检索器。LangChain的检索器提供了自定义检索算法的灵活性,范围从简单的语义搜索到提高性能的高级方法。

缓存嵌入LangChain的“缓存嵌入”功能允许将嵌入存储或临时缓存,减少了重新计算的需求,并提高了整体性能。

与Hugging Face的集成Hugging Face是一个领先的基于变压器模型的平台,提供预训练模型,包括RAG中使用的模型。LangChain与Hugging Face的模型无缝集成,使您能够针对特定任务进行微调和调整。

图片

结论

检索增强生成(RAG)模型代表了大型语言模型领域的突破性进展。

图片

LangChain和类似的框架使得RAG和其他增强技术更容易实施,能够快速开发利用LLMs的潜力的应用程序。

这些技术之间的协同作用为知识密集型语言任务领域的创新开辟了令人兴奋的可能性。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

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

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

相关文章

Java——面向对象进阶(三)

前言: 抽象类,接口,内部类 文章目录 一、抽象类1.1 抽象方法1.2 抽象类1.3 抽象类的使用 二、 接口2.1 接口的定义和实现2.2 default 关键字2.3 实现接口时遇到的问题 三、内部类3.1 成员内部类3.2 静态内部类3.3 成员内部类3.4 匿名内部类&a…

层出不穷的大模型产品:使用体验、倾向选择及未来展望

✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点赞、关注、收藏、评论,是对我最大…

C++ //CCF-CSP计算机软件能力认证 202406-1 矩阵重塑(其一)

CCF-CSP计算机软件能力认证 202406-1 矩阵重塑(其一) 题目背景 矩阵(二维)的重塑(reshape)操作是指改变矩阵的行数和列数,同时保持矩阵中元素的总数不变。 题目描述 矩阵的重塑操作可以具体…

PostgreSQL基础(十四):PostgreSQL的数据迁移

文章目录 PostgreSQL的数据迁移 PostgreSQL的数据迁移 PostgreSQL做数据迁移的插件非常多,可以从MySQL迁移到PostgreSQL也可以基于其他数据源迁移到PostgreSQL。 这种迁移的插件很多,这里只说一个,pgloader(非常方便&#xff0…

白嫖Cloudflare Workers 搭建 Docker Hub镜像加速服务

简介 基于Cloudflare Workers 搭建 Docker Hub镜像加速服务。 首先要注册一个Cloudflare账号。 Cloudflare账号下域名的一级域名,推荐万网注册个top域名,再转移到Cloudflare,很便宜的。 注意 Worker 每天每免费账号有次数限制,…

03.VisionMaster 机器视觉 位置修正 工具

VisionMaster 机器视觉 位置修正 工具 官方解释:位置修正是一个辅助定位、修正目标运动偏移、辅助精准定位的工具。可以根据模板匹配结果中的匹配点和匹配框角度建立位置偏移的基准,然后再根据特征匹配结果中的运行点和基准点的相对位置偏移实现ROI检测…

Android Compose 十一:常用组件列表 compose自己个的 下拉刷新

列表下拉刷新 material3 还没有下拉刷新功能material:1.3.0 之后 swiperefresh 被弃用 被PullRefresh替代使用PullRefresh 需要添加依赖 implementation ‘androidx.compose.material:material:1.6.8’ 先上代码 var refreshing by remember {mutableStateOf(false)} val…

C语言----C语言内存函数

1.memcpy--内存拷贝--使用和模拟实现 //memcpy基本格式: // 目标空间地址 原空间地址 被拷贝的字节个数 //void *memcpy(void * destination, const void * source,size_t num); //因为内存拷贝拷贝的数据有:整型数据、结构…

基于JSP技术的电子商城系统

开头语: 你好,我是计算机学长码农猫哥。如果你对电子商城系统感兴趣或有相关开发需求,欢迎联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:Eclipse、Tomcat 系统展示 首页 管理…

MySQL----常见的存储引擎

存储引擎 存储引擎就是数据库如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。 MySQL存储引擎 M…

(el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程

Ⅰ、Element-plus 提供的Select选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供Select组件情况&#xff1a; 其一、Element-ui 自提供的Select代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template><div class"f…

C# 中的日志记录技术详细解析与示例

文章目录 1. C# 日志记录的基本概念与重要性2. C# 中的日志记录主要方法使用 Console.WriteLine使用 System.Log* 类使用第三方日志库 3. 创建和配置日志记录器的基本步骤4. 不同情境下的日志记录应用示例示例 1&#xff1a;使用 Console.WriteLine示例 2&#xff1a;使用 Debu…

代码随想录——组合总和(Leetcode LCR81)

题目链接 回溯 class Solution {List<List<Integer>> res new ArrayList<List<Integer>>();List<Integer> list new ArrayList<Integer>();public List<List<Integer>> combinationSum(int[] candidates, int target) {b…

智能计算系统-概述

1、人工智能技术分层 2、人工智能方向人才培养 3、课程体系的建议 4、智能系统课程对学生的价值 5、智能计算系统对老师的价值 6、什么是智能计算系统 7、智能计算系统的形态 8、智能计算系统具有重大价值 9、智能计算系统的三大困难 10、开创深度学习处理器方向 11、寒武纪的国…

关于钽电容器的作用、优缺点、选型指南及故障诊断方法等介绍

钽电容器&#xff0c;全称为钽电解电容器&#xff0c;是一种以金属钽作为介质材料的电解电容器。与传统的电解电容器不同&#xff0c;钽电容器不使用液体电解质&#xff0c;而是利用钽氧化物&#xff08;五氧化二钽&#xff09;作为固态电解质&#xff0c;这使得它们具有更高的…

【立体几何】如何使用两个正方体(特殊骰子)摆出所有日期1~31

问题 如何使用两个正方体(特殊骰子)摆出所有日期? 解答 下标列举了所有日期 日期十位数个位数011号正方体&#xff1a;02号正方体&#xff1a;02号正方体&#xff1a;11号正方体&#xff1a;1021号正方体&#xff1a;02号正方体&#xff1a;02号正方体&#xff1a;21号正方…

找我设计官网的不多了,看到漂亮大气的,还是忍不住分享出来。

现在有客户找我做官网设计&#xff0c;我说&#xff1a;要么搞个高大上个性化定制的&#xff0c;要么就选个模板得了&#xff0c;几千元的网站不上不下&#xff0c;不如不做。 分享一批高大上的网站给老铁们看看。

网络安全 - DNS劫持原理 + 实验

DNS 劫持 什么是 DNS 为什么需要 DNS D N S \color{cyan}{DNS} DNS&#xff08;Domain Name System&#xff09;即域名系统。我们常说的 DNS 是域名解析协议。 DNS 协议提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址&#xff0c;也可以被赋予主机名和域名。用…

基于JSP技术的定西扶贫惠农推介系统

开头语&#xff1a;你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;JSP 数据库&#xff1a;MySQL 技术&#xff1a;B/S架构、JSP技术 工具&#xff1a;Eclipse、MySQL、Tomcat 系统展示 首…

H5的3D展示有可能代替PC传统3D展示么?

H5的3D展示技术正在快速发展&#xff0c;并且随着5G网络的普及和手机硬件性能的提升&#xff0c;H5的3D展示在某些方面已经能够接近甚至超越传统PC上的3D展示效果&#xff0c;比如 博维数孪 的渲染能力及效果。但H5和PC的3D展示互相之间是各有优势领域和行业支持&#xff0c;短…