来源:互联网 更新时间:2026-08-01 13:42
假设你手里有一个训练好的大语言模型,想让它帮你处理个人数据,比如回答“我上个月的项目报告放在哪儿了”——结果模型一脸茫然。这种情况在企业内部更常见:拿模型去回答公司内部的规章制度、产品文档,它往往答非所问。根本原因在于,预训练模型的知识是静态的、通用的,没法覆盖你独有的信息。

那怎么让大模型“听懂”你的需求呢?主流的路线有三条:
下面的对比表直观地反映了这三种方法的差异(引自Gao et al., 2023的综述):
目前大量研究已经证实,RAG在优化大模型方面相比其他方法有显著优势(Shuster et al., 2021; Yasunaga et al., 2022; Wang et al., 2023c; Borgeaud et al., 2022)。优势主要体现在六个维度:
话说回来,这三种方法并非互斥,而是相辅相成的。把RAG和微调、提示工程结合起来,能让模型能力层层叠加——尤其在特定场景下,这种协同作用能把效果推到最佳。当然,整个过程往往需要多次迭代和调整。
下图展示了RAG实际应用的过程(引自Gao et al., 2023的综述):
这一章展开讲讲RAG的具体流程和关键技术。简单说,RAG有两个核心环节:
想让检索更精准,三个问题得解决好:如何获得准确的语义空间?如何匹配查询和文档的语义空间?如何让检索器的输出符合大语言模型的偏好?下面一一来看。
我们把查询和文档映射到多维空间里,这个空间就叫
处理外部文档时,先把它拆成小碎片,提取细粒度特征,然后用嵌入模型(Embedding Model)把这些碎片转化成向量。碎片太大或太小都会影响效果,需要考虑检索内容的性质、嵌入模型的最佳块大小、用户查询的预期长度和复杂度等。目前主流的方法有:
确定了合适的块大小后,需要用嵌入模型把块和查询映射到语义空间。嵌入模型的效果至关重要。传统常用的有:
如今更先进的嵌入模型,如AngIE、Voyage、BGE等,已经在大规模语料上预训练过。但应用到特定领域时,它们捕捉领域特定信息的能力可能不足,因此还需要微调。主要有两种微调方式:
有些检索器用同一个嵌入模型处理查询和文档,有些则用两个不同的模型。用户原始查询可能表述不清或缺少必要语义。两种主流做法:
比如Query2Doc和ITER-RETGEN,利用大语言模型把原始查询与额外指导信息结合起来,生成一个虚拟文档。其他方法如HyDE、RRR、STEP-BACK-PROMPTING也属于这类。
相比查询重写,这是一种更微观的技术。LlamaIndex在查询编码器后加入一个特殊的适配器并微调,从而优化查询的嵌入表示,使其更契合特定任务。
上面那些方法能提升检索效果,但不一定能提高大语言模型的准确度——因为检索结果可能不符合模型的口味。如何让检索结果向模型偏好靠拢,是一个重要的研究方向。
核心思路是用大语言模型产生的反馈信号来调整嵌入模型——用模型给的分数指导检索器训练,相当于让大语言模型给数据打标签。代表方法如AAR。
微调方法在实现上有难度,比如API限制和算力成本。所以有些研究在外接适配器来对齐模型,比如PRCA,在上下文提取阶段和奖励驱动阶段训练适配器,通过基于token的自回归策略优化检索器输出。
生成器负责把检索到的信息转换成连贯、流畅的文本。它的输入不仅包括通常的上下文,还包括检索器带来的相关文本片段,这让生成器能深入理解问题背景,产生更精准的回答。
但检索到的内容五花八门,所以一系列研究聚焦于提高生成器的适应性,让它能应对来自查询和文档的各种输入。
目前主流做法是直接调用训练好的大语言模型(如ChatGPT-4)来做生成,但这些模型仍有上下文长度限制、对冗余信息敏感等问题。因此,
即使检索器能从海量知识里精准找到相关信息,海量信息本身也是挑战。简单扩大上下文长度不能根治——压缩是必要的。PRCA通过训练一个信息提取器来解决:给定输入文本Sinput,生成输出序列Cextracted,代表从输入中压缩得到的上下文,训练目标是最小化Cextracted与实际上下文Ctruth的差距。此外还有RECOMP、Filter-Ranker等方法。Filter-Ranker结合了大语言模型和小语言模型的优点——小模型做过滤器,大模型做排序器,显著提升信息提取任务的效果。
大语言模型在引入额外上下文时性能常会下降,重排序能有效解决这个问题。核心概念是重新排列文档记录,让最相关的项目排在最前面,同时限制文档总数,从而解决上下文窗口扩展的挑战,提升检索效率和响应速度。
普通大语言模型输入通常只有一段文字查询,但在RAG里,输入是查询加检索到的各种文档(结构化和非结构化)。这种额外信息会明显影响模型的理解,尤其是较小的模型。此时,微调模型以适应“查询+检索文档”这个输入格式就很重要。生成器的微调方法和一般的大语言模型微调方法基本一样,这里简单提两个代表性方向:
Self-mem采用传统训练方法:给定输入x,检索信息z,结合(x,z),模型生成输出y。论文探讨了两种主流微调架构:Joint-Encoder(联合编码器)和Dual-Encoder(双编码器)。Joint-Encoder使用标准的encoder-decoder模型,encoder先编码输入,decoder通过注意力机制结合编码结果自回归生成。Dual-Encoder则设置两个独立的encoder,分别编码输入(查询+上下文)和文档,输出再经过decoder做双向交叉注意力处理。两种都基于Transformer。
传统训练数据只建立输入输出的配对,容易导致“暴露偏差”——模型只见过正确的输出,不知道其他可能的生成路径。SURGE提出使用图文对比学习,引入对比学习目标,促使模型产生多样且连贯的回应,从而减少过拟合、增强泛化能力。
RAG的生态正在蓬勃生长。水平方向上,从最初的纯文本问答,RAG已扩展到图像、代码、结构化知识、音视频等多模态数据,相关研究成果不断涌现。
技术栈的发展也很快。LangChain和LlamaIndex这类关键工具随着ChatGPT的爆发迅速获得了人气,它们提供了大量与RAG相关的API,成为大语言模型领域的标杆。
同时,新兴技术栈也在崛起。比如Flowise AI采用低代码方法,用户通过拖拽界面就能部署包含RAG的AI应用。其他如HayStack、Meltano、Cohere Coral等也因其独特贡献受到关注。
除了纯粹的AI提供者,传统软件和云服务商也在扩展以RAG为中心的服务。向量数据库公司Wea viate推出的Verba专注于个人助理应用;亚马逊的Kendra提供智能企业搜索服务,让用户通过内置连接器在各种内容仓库中导航。
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
Ondo将于今日上线股票永续合约
暗黑4S14野蛮人终局BD攻略
区块链OTC交易所有哪几家比较正规?
Binance新增15种bStocks代币化证券为杠杆抵押资产
Meme币DOGS今晚上线!开局就解锁91%代币是否带来风险?
忍者必须死3极刃血影角色介绍
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
余姚的路虎4s店在哪个位置
彩云天气怎么看分钟级降雨预报 彩云天气精准预报方法【技巧】
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
华为Mate 70系列首发的红枫镜头下放至千元档:全员普及原色影像
合集38个项目筹集5.406亿美元 Figure融资2亿
国家养老服务消费补贴上线京东
英伟达机器人团队在京沪深招人,聚焦具身智能等四大领域
一站式PDF转Markdown解决方案PDF3MD
硬刚苹果!华为9月新品阵容出炉:Mate 90系列、全新三折叠
微软Copilot AI漏洞可致敏感数据泄露,企业用户需及时更新
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc