当前位置: 首页 > news >正文

大模型---RAG

目录

1.什么是RAG

2.RAG的作用

3.RAG的基本流程

(1)索引构建

(2)在线问答

4.RAG与微调的关系


1.什么是RAG

RAG(Retrieval-Augmented Generation)把参数化记忆(模型权重里学到的知识)和非参数化记忆(外部知识库/文档索引)结合起来,在生成答案前先检索相关文档,再把检索结果作为条件输入给生成模型。

参考论文:

2005.11401

如下图所示,给定输入x,系统先用”检索器”去外部文档库里找相关文档z,再把“输入+检索到的文档”一起交给生成器产生输出y;训练时,检索器和生成器可以进行端到端联合优化。

左边绿色框为检索器,不同任务的输入都先进入Query Encoder,被编码成一个查询向量q(x),论文中,RAG的检索器基于DPR(Dense Passage Retriever),采用双塔结构:q(x)是编码查询,d(z)是编码文档,文中通过它们的向量相似度来判断相关性,也就是说,查询向量和文档向量越接近,文档越可能被检索出来。

图中间的MIPS(Maximum Inner Product Search),表示系统会在文档索引里,寻找与查询向量 q(x) 内积最大的那些文档向量 d(z),也就是找top-k最相关文档。Document Index 是 RAG 的非参数化记忆,论文中,RAG 的非参数记忆是一个dense vector index of Wikipedia,也就是把 Wikipedia 文档做成向量索引,供检索器访问。

右边蓝色框为生成器,检索器找到相关文档以后,这些文档会和原始输入一起送入右边的Generator​(论文里使用的是一个预训练的seq2seq模型),并且把输入x和检索到的文档z做拼接,然后让生成器输出答案 y。系统不是假设只有一个文档绝对正确,其把检索到的文档z当作一个潜变量(latent variable),对top-k文档分别计算生成概率,再把这些概率按检索器给出的做加权求和,也就是图中标的“Marginalize”

训练时,梯度不仅更新生成器,也会回传到查询编码器q,也就是检索器的一部分。为了避免频繁重建整个文档索引,他们在训练时固定了文档编码器和索引,只微调查询编码器和生成器。

2.RAG的作用

仅靠参数记忆有天然边界:① 参数记忆不够新:模型训练截止后,后来的事实、公司政策、内部知识、最新价格、最新文档,它都不知道。RAG特别适合回答不在模型训练数据里的问题,比如公司内部文档、最新项目资料等;② 参数记忆不够准:即使模型“知道一些”,也可能在细节上编造。RAG的价值就是给模型外部依据,让回答有 grounding。③ 参数记忆不够私有:RAG 的一个关键好处就是能在查询时注入你的私有数据,而不是重新训练模型

3.RAG的基本流程

最标准的RAG可以拆成两个阶段:索引构建以及在线问答

(1)索引构建

流程:收集文档-->解析文档-->切块(chunki

http://www.jsqmd.com/news/585028/

相关文章:

  • 软件测试人必学:ISO 25010:2011八大质量属性详解
  • 2026年知名的钢结构/钢结构屋面/山东钢结构异形/山东钢结构屋面推荐品牌厂家 - 行业平台推荐
  • Unity Shader 顶点色:利用模型顶点颜色传递渲染数据
  • 计算机网络核心:OSI/RM七层模型与TCP/IP模型详解——软件设计师备考指南
  • gpedit.msc无法启动,提示:管理员已阻止你运行此应用;services.msc无法启动,提示:管理员已阻止你运行此应用
  • 加餐 AI 架构师面试高频题精选与解题思路
  • 3类脑肿瘤目标检测数据集该数据集已经包括3个类别分别是:‘glioma_tumor‘, ‘meningioma_tumor‘,‘pituitary_tumor‘总计图片2908张图像,分辨率是5
  • MAI-UI-8B升级攻略:从基础部署到高级功能(MCP工具、在线RL)体验
  • 来瞧!2026年3月国内服务不错的回收体育地板公司推荐,二手体育木地板回收/体育地板回收,回收体育地板公司报价 - 品牌推荐师
  • 加餐 10个企业级AGENTS.md 模板(覆盖Go Java Python TypeScript)
  • Pi0 Robot Control Center部署案例:NVIDIA A10G 24GB GPU高吞吐推理优化
  • RexUniNLU GPU推理优化教程:batch_size与max_length调优实测
  • Qwen-Image-Edit-F2P生成效果展示:多风格人像艺术作品集
  • Unity URP 溶解效果基于噪声纹理与 clip 函数实现物体渐隐渐显
  • 使用IDEA进行DAMOYOLO-S项目开发:Python插件与远程调试配置
  • 新手必看!Stable Diffusion v1.5 Archive常见问题解决指南
  • 基于单片机的有害气体检测装置
  • 新手必看:AI写作大师Qwen3-4B从安装到生成PRD的完整使用流程
  • Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得
  • REX-UniNLU在SpringBoot项目中的集成指南
  • Unity URP 下的 GPU Instancing减少 DrawCall 的关键技术
  • 生活真正的难,不是没人帮你,而是很多时候只能靠自己慢慢熬过去
  • 【高清视频】PCIe 5.0 144 Lane 8槽位 PCIe Switch卡实拍讲解
  • Local AI MusicGen成本效益:相比外包音乐制作节省90%开支
  • 结束语 从写代码到指挥AI 写代码你的下一个十年
  • OpenClaw技能开发入门:为Phi-3-vision-128k-instruct定制截图OCR模块
  • 操作系统原理学习助手:Phi-4-mini-reasoning解答进程、线程与内存管理难题
  • Qwen2.5-VL-7B-Instruct环境部署:torch29环境兼容性验证与降级策略
  • 重新定义人机交互:Agent时代的产品设计新思维
  • 快速上手AI开发:PyTorch-2.x-Universal-Dev-v1.0镜像使用全攻略