news 2026/9/26 16:25:15

RAG大模型实战:小白程序员必备教程,轻松掌握知识检索增强生成技术(收藏版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RAG大模型实战:小白程序员必备教程,轻松掌握知识检索增强生成技术(收藏版)

本文深入浅出地讲解了RAG(检索增强生成)技术的原理与应用,从基本概念出发,详细阐述了如何通过向量化数据并利用向量数据库进行高效检索,进而增强大模型的回答能力。文章还探讨了RAG在多个领域的应用潜力,如企业知识问答、智能客服等,并提醒开发者注意避免数据偏见。最后,通过实际代码示例,展示了如何实现RAG流程,帮助读者更好地理解和应用这一技术。

一、RAG是什么?


RAG,字面意思是检索-增强-生成。我觉得这里用ES来理解会更为简单,如果你对这个ES搜索有一点基础的话,检索,根据已有的数据,各种各样的,进行搜索;增强,那就是在原有的基础上变得更强,那这个原有的东西是什么呢,就是在大模型原有的回答之前,给它一些更为有信服力的东西,(ES叫score,这里叫相关性,其实理解起来相像)作为context塞给大模型;生成:让大模型在有这个context的基础上,生成更为可靠准确的数据返回给用户。这样理解是不是更好理解。

RAG 是 Retrieval-Augmented Generation,即检索增强生成:
Retrieval:从企业知识中找到与问题最相关的片段
Augmented:把这些片段加入模型上下文
Generation:让模型依据片段生成回答

那上文所说的 已有的数据得是我们喂给它的,比如我们在mysql数据库中定义一些结构,存入一些数据,后续就可以用sql语句查询处理;同理,RAG也有数据库,不过我们称其为向量数据库,VectorStore,那你要存入向量数据库,得先向量化(这里向量化后的数据和线性代数中的向量很像,如图)


这是第一步,先把数据向量化;第二步,用户输入的内容,也要进行向量化,和向量数据库进行比对,具有相关性的内容的原文,注意是原文 作为context塞给大模型,作为参考的依据,然后大模型根据这些内容,整理得到结果返回给用户。这是整个完整的流程:

二、RAG能做什么?


上文我们提到,RAG会向量化一些数据,那这些数据可能是一些pdf、md、图片…对应的内容可能是说明书,协议,手册,简历,病历,商品说明,于是乎,我们可以利用这些数据,进行向量化,我们就能做企业知识问答、智能客服、法律与合同检索、医疗资料辅助查询、电商商品导购、工单故障诊断简历匹配等等… 所以,RAG不止能做企业知识库,根据所给的数据的不同可以实现更多丰富的内容,只是像企业知识问答这种功能,更为简单易懂。

于此同时,比如说你有了一些数据,也确实能够拿到一些数据响应给用户,那能不能更近一步,比如说电商商品导购,用户要求 “我要一台适合看视频,看文档,新款手机,折叠机。”于是电商AI小助理不只是告诉你你可以选择购买A 或 B 的折叠机,甚至它直接给你调出了一个页面,来,哥们,我给你推荐新出的折叠手机 iphone duo 15999 或者 小米18 fold xxx 然后你就可以根据喜好自己去挑,那后面这个步骤是不是可以用一个我们上节学过的Tool Calling 工具调用实现! 这不就结合起来了吗?

但是你要注意,也就是说我能给你选出你要的几个选项给你选择,是不是我可以在这个给定的结果中,添加一些“不良的元素”,比如说,A手机厂商投广告了,投钱了,说你把搜索结果给我放在前面,只要用户搜索折叠手机,你AI生成的推荐手机页面我A手机一定要排在前面!! 这个是不是可以做到! 把投放广告的那套“召回+重排”用在AI上,于是不良的风气就出现了,我称之为 剑走偏锋,本来是一个很好的设计,给用户推荐一些相关的产品,却也有可能被设计成会被误导消费者的一种形式,如果是这样的设计,那我觉得就丢失了AI最基本的公正原则,把那种页面显示内容也可以添加广告的那一套也塞给了AI;到最后用一句“AI生成的信息可能有误,仅供参考”草草了事。

三、怎么实现一个RAG


言归正传,我们来实现一个RAG的过程。完整的过程就如同上面的图所言,分两步走,生成对应的向量数据库,和用户提问部分

几点注意:

  1. 1. 把数据向量化需要引入对应的向量化模型,这不同于那些多模态的大模型,一般都带有embedding字样,如

  1. 2. 向量数据库有很多种选择,生产中多使用Milvus,我们本节使用的是Redis Stack,当然你要用Milvus也行,我要提醒你的是,这玩意需要一点内存。

  2. 3. redis stack !== redis

虽然他们在端口上都是6379,看起来人畜无害,但是你的redis大概率是没有redis stack的,如果是docker的话,要安装 redis/redis-stack-server:latest 这个镜像,涵盖普通的redis和redis stack。

配置yaml,添加4个依赖


Redis Starter 中排除自动配置是本章的刻意设计。Spring AI 1.1.2 的 Redis 自动配置无法通过 YAML 声明本项目的权限元数据字段;我们需要显式构建 RedisVectorStore,将 tenantId、departmentId 等字段建入 RediSearch 索引。
前面做了很多操作,到最后都融为一个动作,把切好块的Doucuments放进vectorStore

用户在查询的时候,先进行相似度匹配


得到retrieved再进行一次权限过滤,得到了authorized,再组装一下得到context给大模型

四、测试结果



你可以上传一个员工手册的pdf,然后向量数据库中会将其切块保存
然后你可以问对应的问题,从向量数据库中查到对应的内容辅助回答
如果你把部门改成department-002模拟不同的部门
那么你将无权限得到对应的数据,因为刚才上传的数据仅仅department-001可查看,这样就达到了数据隔离。就好比,你想去查询公司内某个新来员工的工资,那肯定就不能让你查到了对吧,要不然如果这个新来的员工工资还比你高,年龄还比你小,岂不是影响团结。

五、还是那个ChatClient


现在我们来看点源码,非常简单容易理解,如果你能看到这里,你不该错过。


之前我们在写这个ChatClient的时候,是不是写过一个MessageChatMemoryAdvisor,用于让对话有了记忆功能,这个advisor就是干这种事,作为一个拦截器或者增强器的功能而存在,像MessageChatMemoryAdvisor是不是增强了它的功能,同理我们点开这个Advisor的实现类
我们可以看到这个QuestionAnswerAdvisor,QuestionAnswerAdvisor 通过使用已注入的 VectorStore 检索相关文档,并将检索结果加入 Prompt,从而实现检索增强生成(RAG)。那这种方式和我们最开始的那种方式的区别是,QuestionAnswerAdvisor属于自动,我们的那种方式属于手动模式,因为我们需要自己添加一些metadata元数据,增加一些权限过滤,手动操作更为方便,但是增加了一些代码量。

以上就是关于RAG的内容,相关的代码已放置Github,tag为tag-1.4,有需要自行取用。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包:

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》,下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 16:24:53

FastMCP 2.x 干货笔记之 FastMCP 集成:Auth0 认证配置与验证指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 16:24:52

通过 npm 安装 Claude Code 后,用 TaoToken 统一 Key 打通 settings.json 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 16:23:11

video-use 工具集:前端视频截帧、压缩、续播与录制实战解析

如果你手头那个项目叫video-use,多半不是在做一个播放器,而是一堆和视频沾边的零碎需求:上传前压缩、自动截图、续播、画中画、录制、分段循环……这些需求单独看都不难,难的是它们凑在一起时,代码会散落到各个业务组件…

作者头像 李华
网站建设 2026/9/26 16:22:17

Python调用各家大模型API统一示例:鉴权、流式与Token管理

简介:这份源码合集整合了国内十余家主流AI平台的Python调用示例,覆盖文心一言、通义、ChatGLM、Kimi、Deepseek、Baichuan、讯飞、腾讯、字节等常见服务商,面向需要快速接入各家API的开发者与学习者。针对不同平台接口的认证规则与返回格式差…

作者头像 李华
网站建设 2026/9/26 16:21:11

前三季度漏洞披露突破7万条:2026软件供应链安全形势持续严峻

数据统计来源:信盾数据源数字不会说谎:漏洞增长正在加速 截至 2026 年 9 月,信盾数据源构建的安全漏洞知识库已收录漏洞 422,707 条,覆盖 CVE、CNNVD、CNVD 三大主流漏洞编号体系(分别收录 39.8 万、29.0 万、13.1 万条…

作者头像 李华