检索增强生成工作流深入解析与最佳实践指南
最近读到一篇相当扎实的论文,来自复旦大学和智能信息处理上海市重点实验室,专门讨论了检索增强生成(RAG)的最佳实践。这篇文章系统地梳理了RAG工作流的每一个环节,并给出了切实可行的配置建议,可以说是当前把RAG落地做精的一份重要参考。 论文题目:Searching for Best Practice
最近读到一篇相当扎实的论文,来自复旦大学和智能信息处理上海市重点实验室,专门讨论了检索增强生成(RAG)的最佳实践。这篇文章系统地梳理了RAG工作流的每一个环节,并给出了切实可行的配置建议,可以说是当前把RAG落地做精的一份重要参考。

论文题目:Searching for Best Practices in Retrieval-Augmented Generation
论文链接:https://arxiv.org/pdf/2407.01219
代码地址:https://github.com/FudanDNN-NLP/RAG?tab=readme-ov-file
论文概述
RAG技术的好处在哪儿呢?它能把最新的信息整合进来,显著减少模型“编造”内容的可能,尤其是在一些专业领域里,效果提升非常明显。一个完整的RAG系统,其实跟一条精密的生产线差不多,通常包含好几个关键的链条步骤:先判断某个问题需不需要去外部资料库里查一查(查询分类);如果需要,就去检索相关的文档;然后把这些结果按相关性排个序(重排序);排序之后,还得把材料整理成更适合生成答案的格式(重组);最后,从整理好的文档里提炼出关键信息,生成最终答复,同时还得把多余重复的内容去掉(摘要)。
当然,要把这个东西真正跑通,还有不少细节要琢磨。比如文档怎么切分最合适、用什么嵌入模型来理解文档意思、选哪种向量数据库能又快又准地干活,以及怎么微调模型效果更好。这篇论文正是冲着这些“最佳实践”来的,把现有的各种方法组合起来做了系统的对比,还展示了多模态检索在视觉问答上的潜力,以及用“检索即生成”策略加速多模态内容生成的效果。
RAG工作流
查询分类
不是所有问题都需要走一遍RAG流程的。大模型本身就有相当强的知识储备,如果每个问题都去检索一遍,响应时间会白白增加。所以,第一步是先给查询做个“体检”:需要检索的就走RAG通道,不需要的,直接让模型自己回答。文中选用了 BERT-base-multilingual-cased 作为这个分类器。
分块
把长文档切成合适的段落,是提升检索精度的关键动作,也能避免模型被过长文本“撑到”。分块的粒度可以灵活选:按词来切最直接,但容易把完整句子拆开;按语义来切,上下文完整,但用LLM去判断断点比较耗时;句子级别则在文本语义和效率之间找到了一个不错的平衡点。这篇论文选的就是句子级切分。
块大小
块的大小对系统表现影响很大。大块提供更多上下文,理解更透彻,但处理更慢;小块检索召回率高,速度快,但信息可能不够用。论文专门研究了块大小变化对系统“忠实度”(回答是否忠于检索到的文档)和“相关性”(检索结果和回答是否匹配用户问题)的影响。
分块策略
除了分块大小,还有更高级的玩法。比如“小到大”技术,用小块来匹配查询,但返回包含小块上下文的大块;滑动窗口则保证在切分过程中上下文不掉线。论文用 LLM-Embedder 做嵌入模型,小块设为175个词元,大块512个词元,重叠20个词元。事实证明,这些高级策略对检索质量的提升确实有帮助。
向量数据库
向量数据库是用来存嵌入向量和元数据的。为了快速找到相关文档,它离不开各种索引和近似最近邻(ANN)技术。论文按四个标准——索引类型多样性、十亿级向量支持、混合搜索能力、云原生特性——做了评估,最后选了 Milvus。
检索方法
检索模块的任务,是根据查询和文档的相似度,挑出最相关的前k个结果,交给生成模型。但原始查询常常表达不好,缺语义信息,导致检索效果打折。为此,论文评估了三种查询转写方法:查询重写(改得更准)、查询分解(拆成子问题)、伪文档生成(生成假设答案去查类似文档)。最后推荐的是混合搜索搭配HyDE(Hybrid with HyDE),单假设文档,稀疏检索(BM25)和密集检索(原始嵌入)相结合,α系数设为0.3时效果最佳,延迟也相对可控。
排序方法
为了让最相关的材料排在前面,重排序是必不可少的环节。论文比较了DLM Reranking(把排序变成分类问题,输出概率判断)和TILDE Reranking(按查询词在文档中间出现的似然值求和排序)。结果说明,这一关的不加,性能会明显缩水。
文档打包
大模型生成的答案质量,可能会受输入文档的顺序影响。于是,重排序之后加了一个“重组”模块,有三种玩法:正向(相关性从高到低)、反向(从低到高)、两侧(最相关的放两端)。实验发现,反向配置效果最好。
摘要
检索结果里经常有冗余或无关信息,影响模型准确作答,也会让提示词太长、拖慢速度。摘要模块可以解决这个问题。它分为抽取式和生成式:抽取式是挑出重要句子,生成式则是把多篇信息综合起来重述。论文聚焦于基于查询的摘要方法,重点比较了Recomp(兼具抽取和生成能力)、LongLLMLingua(专注关键信息)和Selective Context(识别并移除冗余)。
RAG最佳实践概述
论文的核心贡献之一,是把每个模块的最佳方案拼装起来,形成一个完整的RAG流程,然后逐个优化、对比,直到确定最终方案。结果如下:
- 查询分类模块:带来系统性提升,整体得分从0.428升到0.443,同时每个查询的延迟从16.41秒降到了11.58秒。
- 检索模块:“Hybrid with HyDE”得分最高(0.58),但计算成本较高(11.71秒)。如果对延迟敏感,推荐用“Hybrid”或“Original”,性能相当,但更快。
- 重排序模块:少了它,性能明显下降。MonoT5拿了最高平均分,证明了重排序在提升检索文档相关性方面的关键作用。
- 重组模块:反向配置(Reverse)表现最优,RAG得分达到0.560。说明把相关上下文放在查询附近最有效。
- 摘要模块:虽然去掉摘要可以在降低延迟的同时得到相近结果,但Recomp仍是首选,尤其在处理生成器的长度限制时优势明显。对响应时间敏感的场景,可以去掉摘要模块省时间。
一句话总结:查询分类提了准度、降了延迟;检索和重排序让系统能更好地应对各类查询;重组和摘要则进一步优化了输出,确保回答质量。
论文总结
这篇论文系统性地实现了RAG的最佳实践,在每个模块上都做了充分的方法比较,并给出了推荐配置。它是一份非常接地气的工程指南,非常适合那些希望把RAG真正用好的团队参考。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:检索增强生成工作流深入解析与最佳实践指南要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点国际机器学习大会(ICML)2026年度奖项揭晓,三大核心奖项中9篇论文入围。清华大学黄高教授团队等两篇扩散模型研究获杰出论文奖,时间检验奖授予DeepMind强化学习经典成果。奖项强调技术落地,反映AI从理论向工程化转型。
本地部署ManusAI后需逐层验证:①Web界面访问http: localhost:5172并响应“你好”;②Ollama健康接口返回{ "status ": "ok "}且模型调用成功;③工具插件链含postman_generator等三项并可生成合法JSON;④端到端执行CI日志分析任务,四步动作全部
必须先激活Manus Pro账户权限并确认“Pro”角标出现,才能使用文生视频、高投入模式、多工具协同绘图和Wide Research四项Beta功能;未完成权限验证则所有功能入口灰显不可用。想直接用上Manus Pro用户才能解锁的Beta新功能,比如文生视频、高投入模式、多工具协同绘图、Wide
美银研判指出,Meta算力出租、长鑫进入iPhone供应链及韩国投资计划三大利空未改变短期内存供需格局。出口与价格仍偏强,但市场质疑涨价持续性,周期是否见顶尚未被数据确认。
- 日榜
- 周榜
- 月榜
热点快看
