【2025版】一篇RAG与大模型结合的最新全面综述,从零基础到精通,精通收藏这篇就够了!

检索增强型生成(RAG)能够为像大型语言模型(LLMs)这样的生成型 AI 模型提供可靠和最新的外部知识,增强其能力。LLMs 已经展示了革命性的语言理解和生成能力,但仍然面临着幻觉和过时的内部知识等局限性。**检索增强型大型语言模型(RA-LLMs)**利用外部知识来解决 LLMs 的局限性,减少仅依赖内部知识的情况。

图1:****检索增强型生成(RAG)遇见大型语言模型(LLMs)。当用户的查询超出范围时,例如,在训练数据中未见过的内容或需要最新信息来回答时,LLMs 可能会显示出较差的生成性能。在RAG的帮助下,LLMs 可以利用来自外部数据源的额外相关信息来增强文本生成能力。

RA-LLMs的全面概述,涵盖了架构、训练策略和应用

  • RAG框架涉及检索、生成和增强组件。检索的必要性和频率也是重要的设计方面。

  • 稀疏和密集是检索器的两种主要类型。通过查询扩展和重写等策略可以增强检索。

  • RA-LLMs的训练策略包括独立、顺序、联合和无需训练的方法。

  • RA-LLMs已被应用于各种任务,如问答(QA)、推荐、软件工程、科学和金融等。

RA-LLMs框架

检索增强型大型语言模型(RA-LLMs)框架由三个主要组成部分构成:检索、增强和生成。检索可能包括不同的程序和多样的设计,可选地包含检索前和检索后的过程。检索到的文档在增强模块的辅助下进一步用于生成,而增强模块的设计可能根据生成模型中的集成阶段而有所不同。

图2:特定问答(QA)任务的基本检索增强型大型语言模型(RA-LLMs)框架的图解

  • 检索(Retrieval):RA-LLMs中的检索过程旨在从外部知识源中提供与输入查询相关的信息。这包括使用检索器(retriever)来衡量查询和数据库中文档之间的相关性,并通过前检索(pre-retrieval)和后检索(post-retrieval)策略来增强检索质量。

  • 检索器类型(Retriever Type):检索方法分为稀疏(sparse)和密集(dense)两种,基于信息编码方法的不同。稀疏检索通常基于词汇,而密集检索将查询和文档嵌入到向量空间中。

图3:展示了检索增强型大型语言模型(RA-LLMs)中的检索器的图解,该检索器可以以密集或稀疏的方式实现,每种方式都包含几个关键操作。

  • 检索粒度(Retrieval Granularity):决定了索引语料库的检索单位,如文档、段落、令牌或其他级别,如实体。不同的检索粒度对模型的整体性能有显著影响。

  • 前检索和后检索增强(Pre-and Post-retrieval Enhancement):为了提高检索质量,提出了多种策略来增强检索器的输入和输出。这包括查询扩展、查询重写和查询增强等方法。

  • 数据库(Database):RA-LLMs的检索基于外部知识源,可以是封闭源或开放源。数据库的构建方式和来源取决于具体的应用领域和任务。

  • 生成(Generation):生成器的设计取决于下游任务,主要有两种结构:Decoder-only和Encoder-Decoder。商业化的闭源大型基础模型在RA-LLMs中成为主流。

  • 检索集成用于生成增强(Retrieval Integration for Generation Augmentation):这是RA-LLMs的核心部分,涉及将检索和生成部分集成的技术过程。介绍了三种主要的增强设计:输入层集成、输出层集成和中间层集成。

  • 检索增强的必要性和频率(Retrieval Augmentation Necessity and Frequency):讨论了RA-LLMs中检索操作的目的,即补充知识以增强生成,并指出了检索增强模型并非普遍适用的解决方案。

RA-LLMs训练方法

现有的RA-LLMs训练方法可以分为两类:无需训练的方法通常在推理时通过将检索到的知识整合到提示中直接利用检索到的信息;基于训练的方法则对检索器和生成器进行微调以提高生成性能。

根据训练策略,基于训练的方法可以进一步细分为三个组:独立训练,其中检索和生成器组件独立训练;顺序训练,它们按顺序进行训练;以及联合训练,它们一起训练。

图4:检索增强型大型语言模型(RA-LLMs)中不同训练方法的图解

  • 训练方法分类:RA-LLMs的训练方法主要分为两类:无需训练(train-free)的方法和基于训练的方法。基于训练的方法进一步细分为独立训练(Independent Training)、顺序训练(Sequential Training)和联合训练(Joint Training)。

  • 无需训练的方法:这些方法在推理时直接利用检索到的知识,而不需要额外的训练过程。它们通过将检索到的文本插入到提示(prompt)中来增强LLMs的性能。

  • 独立训练:在独立训练方法中,检索器和LLMs作为两个完全独立的过程进行训练,两者在训练过程中没有交互。

  • 顺序训练:顺序训练方法通常先独立预训练检索器或LLMs,然后在训练另一模块时固定已训练好的模块。顺序训练可以基于检索器优先或LLMs优先的策略。

  • 联合训练:联合训练方法采用端到端的优化方式,同时训练检索器和生成器。这种训练方式旨在提高检索器定位外部知识的能力,同时增强生成器有效利用检索到的信息的能力。

RA-LLMs应用

RA-LLMs应用按自然语言处理(NLP)应用下游任务特定领域应用分类的。具体来说,NLP应用包括问答系统、聊天机器人和事实验证;下游任务包括推荐和软件工程;特定领域应用包括科学和金融领域的AI应用。

图5:检索增强型大型语言模型(RA-LLMs)应用分类

  • 自然语言处理应用(NLP Applications):RA-LLMs在自然语言处理领域的应用包括问答系统(QA Systems)、聊天机器人(ChatBots)和事实验证(Fact Verification)。

  • 问答系统:RA-LLMs通过检索大量知识库来提供准确的问题答案,增强了问答系统的检索和合成信息的能力。

  • 聊天机器人:RA-LLMs使得聊天机器人能够与用户进行更加连贯和内容丰富的对话。

  • 事实验证:RA-LLMs被用于提高信息验证的准确性和可靠性,通过检索外部知识来增强事实验证任务。

  • 下游任务(Downstream Tasks):RA-LLMs还被应用于推荐系统和软件工程等下游任务。

  • 推荐系统:RA-LLMs通过整合检索和生成过程,提供个性化和情境相关的推荐。

  • 软件工程:RA-LLMs影响了软件工程的多个方面,如代码生成、程序修复、表格数据处理和文本到SQL的语义解析。

  • 特定领域应用(Domain-specific Applications):RA-LLMs还被广泛应用于科学和金融等特定领域。

  • AI for Science:RA-LLMs在科学领域,如分子和蛋白质表示、药物发现等方面,通过整合检索到的分子结构和生物医学实体来指导分子生成。

  • 金融:在金融领域,RA-LLMs通过从新闻平台和社交媒体平台检索财务信息,提高金融情感分析的准确性。

https://arxiv.org/abs/2405.06211``A Survey on RAG Meets LLMs: Towards Retrieval-Augmented Large Language Models
## AI大模型学习福利

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

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

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

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

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

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

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

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

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

img

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

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

三、AI大模型经典PDF籍

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

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

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

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

img

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

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

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

### 回答1: CentOS 7启动httpd服务失败可能有多种原因,以下是一些常见的解决方法: 1. 检查httpd配置文件是否正确:可以使用命令`httpd -t`检查httpd配置文件是否正确,如果有错误,需要修改配置文件。 2. 检查端口是否被占用:可以使用命令`netstat -tlnp`查看端口是否被占用,如果被占用需要释放端口或修改httpd配置文件中的端口号。 3. 检查httpd服务是否安装:可以使用命令`rpm -qa | grep httpd`查看httpd服务是否安装,如果没有安装需要先安装httpd服务。 4. 检查httpd服务是否启动:可以使用命令`systemctl status httpd`查看httpd服务是否启动,如果没有启动需要使用命令`systemctl start httpd`启动httpd服务。 5. 检查SELinux是否开启:如果SELinux开启,可能会导致httpd服务启动失败,需要使用命令`setenforce 0`关闭SELinux,或者修改SELinux策略。 以上是一些常见的解决方法,如果以上方法都无法解决问题,可以查看httpd服务日志文件,找到具体的错误信息,然后根据错误信息进行解决。 ### 回答2: CentOS 7上的httpd服务启动失败可能有多种原因。以下列出了一些常见问题和解决方法: 1. 端口被占用 当httpd试图占用已被其他程序占用的端口时会启动失败。此时可以通过使用`netstat -tunlp`命令检查端口占用情况,然后杀死占用该端口的进程及时释放端口。或者修改httpd的配置文件,将端口修改为未被占用的端口。 2. 配置文件错误 有时httpd服务的配置文件中可能出现错误,例如语法错误或路径错误等等。在启动httpd服务之前,可以使用`apachectl configtest`命令进行检查,如果输出“Syntax OK”,则表示配置文件没有错误。如果出现错误,则需要根据错误提示进行相应修改。 3. 依赖关系问题 如果httpd依赖的其他程序或库缺失,也会导致启动失败。可以通过使用`systemctl status httpd.service`命令来查看httpd服务状态,如果输出“Failed to start”或“Loaded: failed”,则需要检查依赖关系是否完整。 4. SELinux问题 当SELinux启用时,有时会导致httpd服务启动失败。在这种情况下,可以在SELinux上禁用httpd服务,或者修改httpd配置文件解决SELinux相关的问题。 5. 用户权限问题 httpd服务启动可能需要特定的用户权限。如果使用的用户权限不够,则无法启动。可以尝试使用root用户启动httpd服务,或者根据需要修改相应的用户权限。 ### 回答3: CentOS 7中的Apache HTTP服务器(httpd)是一个常见的Web服务器,如果遇到httpd服务启动失败的情况,可能会影响服务器正常的工作和对外服务的稳定性。本文将提供一些可能会导致httpd服务启动失败的原因,并给出相应的解决方法。 1. 端口被占用 如果端口被其他进程占用,httpd服务就无法启动。可以通过 netstat -tulpn 命令查看端口占用情况,并杀死占用该端口的进程。如果端口被 httpd 服务自身占用,可以通过 systemctl restart httpd 命令重启 httpd 服务;如果是其他进程占用了端口,可以通过 kill 命令杀死该进程或更改 httpd.conf 文件配置,将 httpd 服务的端口改为其他空闲端口,重新启动。 2. 配置文件错误 httpd 服务的配置文件通常是 /etc/httpd/conf/httpd.conf,如果其中存在语法错误、权限问题或者其它配置错误,可能会导致 httpd 服务启动出错。可以通过将 httpd.conf 文件备份后删掉,重新执行 yum install httpd 命令安装 httpd 服务,然后手动修改 httpd.conf 文件,逐个检查每个配置项是否正确,确认无误后重启 httpd 服务。 3. SELinux 问题 SELinux 是 CentOS 7中提供的一种安全模块,它可以对系统文件和应用程序进行安全管控。如果 SELinux 配置不正确,可能会阻止 httpd 服务正常启动。可以通过修改 /etc/selinux/config 文件中 SELINUX=disabled 来暂时关闭 SELinux,然后重新启动 httpd 服务;或者一个更优的方式是,根据日志确定问题原因,使用命令 semanage 或者 setsebool 等工具将相关目录或者配置加入到 SELinux 许可列表中,重新启动 httpd 服务,以恢复服务正常工作。 4. 防火墙问题 如果你的 CentOs 7 服务器启用了防火墙,有可能会导致 httpd 服务启动失败。可以通过检查防火墙相关配置来确定问题原因,解决方案是修改防火墙规则,将端口 80 或者 443 等 httpd 服务需要的端口放行,重新启动 httpd 服务。 总之,当遇到 httpd 服务启动失败时,不要慌张,可以先通过日志或者执行命令查看错误信息,找到错误原因,然后根据错误原因一步一步解决问题。在解决问题过程中注意备份原始配置文件,以免造成不必要的损失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值