news 2026/4/16 17:05:37

写给程序员最实用的RAG实战课

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
写给程序员最实用的RAG实战课

RAG (Retrieval-Augmented Generation)是一种提高大模型回答质量和准确性的技术方法。简单来说,它将语言模型(如GPT类模型)与检索系统(如向量数据库)相结合,从而使模型在生成回答时可以直接访问与用户问题相关的外部知识或文档数据。RAG的工作流程如图0-2所示。

RAG的工作流程大致如下:

(1)嵌入与索引:在系统准备阶段,已对一批文档(例如新闻报道、博客文章、分析报告等)进行分块处理,并将这些文本块转换为嵌入向量。这些嵌入向量会存储在向量数据库中(这个过程也称为索引),以便用于后续检索。

(2)用户输入:用户向系统提出一个问题或查询。

(3)检索:在用户提交查询时,系统会根据用户的问题生成相应的查询向量,并在已建立的向量数据库中检索最相关的文本块。这是RAG的核心步骤——在回答前先查找适合的外部信息。

(4)生成并输出:将用户原始问题和检索到的文本块一并传递给大模型。大模型在接收到相关上下文信息后,整合用户问题与检索到的信息,生成更准确的回答。在这一过程中,大模型的回答不仅依赖其自身的参数与训练记忆,还结合了更新、更权威的外部参考资料。

RAG通过将信息检索和文本生成相结合,使得大模型的回答更有依据且上下文相关,从而提高了回答的质量、可靠性和即时性。

RAG是一种非通用的实验性技术范式。在实际应用中,通常是为了满足具体业务需求而采用 RAG,而非围绕RAG 来设计业务。这意味着需要针对不同的场景和问题进行专门的调整、优化,甚至定制化处理。

掌握大模型检索增强生成(RAG)技巧您需要读一读这本《RAG 实战课:大模型应用开发》,本书从实现原理到代码实践,全面介绍了RAG 技术的应用方法,涵盖了数据导入、文本分块、信息嵌入、向量存储、检索、系统评估及复杂范式等全链路知识,非常适合初级者入门学习。理解这些原理是进行有效优化的基础,读者可以以本书为起点,通过大量实践来深化理解,一定会有所收获。

《RAG 实战课:大模型应用开发》

✔ 咖哥继AI Agent之后的又一力作,给程序员最实用的RAG实战课;
✔ 从零开始,一步步搭建个人和企业的知识库;
✔ 不使用任何框架,深入解析RAG的十大组件,纯手工打造RAG系统;
✔ 基于DeepSeek、LangChain、LlamaIndex、开源嵌入模型和Milvus的知识库构建指南。

✍首先,本书以“数据导入—文本分块—信息嵌入—向量存储”为主线,详细阐述了从多源文档加载到结构化预处理的全流程,并深入解析了嵌入模型的选型、微调策略及多模态支持;其次,从检索前的查询构建、查询翻译、查询路由、索引优化,到检索后的重排与压缩,全面讲解了提高召回质量和内容相关性的方法;接下来,介绍了多种生成方式及RAG 系统的评估框架;最后,展示了复杂RAG范式的新进展,包括GraphRAG、Modular RAG、 Agentic RAG和Multi-Modal RAG的构建路径。

本书适合AI研发工程师、企业技术负责人、知识管理从业者以及对RAG系统构建感兴趣的高校师生阅读。无论你是希望快速搭建RAG系统,还是致力于深入优化检索性能,亦或是探索下一代AI系统架构,本书都提供了实用的操作方法与理论支持。

推荐理由:

  1. 实战导向:以实战为核心,系统讲解RAG技术构建与优化,助力读者快速上手。

  2. 全面覆盖:从数据导入到复杂范式探索,涵盖RAG技术全流程,层层递进,易于理解。

  1. 关键环节剖析:深入探讨检索前处理、索引优化、检索后处理和响应生成等核心环节,提供实用技巧。

  2. 系统评估体系:提供完整的RAG系统评估方法,帮助读者量化性能,优化系统。

  3. 前沿范式展望:介绍GraphRAG、上下文检索、Modular RAG、Agentic RAG和Multi-Modal RAG等前沿技术,紧跟行业趋势。

内容简介:

本书以实战为导向,系统性地讲解了RAG技术的构建与优化。全书内容从数据导入、文本分块、向量嵌入到向量存储、检索优化、响应生成,再到复杂RAG范式的探索,层层递进,帮助读者全面掌握RAG技术的核心知识点和实践技巧。首先聚焦于RAG系统的基础构建,包括数据加载、文本分块、信息嵌入和向量存储;其次深入探讨检索前处理、索引优化、检索后处理和响应生成等关键环节;随后提供了一套完整的RAG系统评估体系,帮助读者量化系统的性能;最后展望RAG技术的未来,介绍了GraphRAG、上下文检索、Modular RAG、Agentic RAG和Multi-Modal RAG等前沿范式。

本书实拍:

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

作为一名老互联网人,看着AI越来越火,也总想为大家做点啥。干脆把我这几年整理的AI大模型干货全拿出来了。
包括入门指南、学习路径图、精选书籍、视频课,还有我录的一些实战讲解。全部免费,不搞虚的。
学习从来都是自己的事,我能做的就是帮你把路铺平一点。资料都放在下面了,有需要的直接拿,能用到多少就看你自己了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以点击文章最下方的VX名片免费领取【保真100%】

👉AI大模型学习路线汇总👈

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!(全套教程文末领取哈)

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

640套AI大模型报告合集👈

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

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求:大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能,学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力:大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以点击文章最下方的微信名片添加免费领取【保证100%免费】🆓

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

Foundation 按钮组

Foundation 5 按钮组(Button Groups) Foundation 5 的按钮组用于将多个按钮紧密组合在一起,形成统一的视觉效果。支持颜色统一、大小一致、圆角、平均分配宽度,以及堆叠(小屏自动垂直排列)等功能。非常适合…

作者头像 李华
网站建设 2026/4/16 12:20:35

15、Docker日志与监控全解析

Docker日志与监控全解析 1. 更高级的日志记录 当默认的日志记录机制无法满足需求时(尤其是在大规模场景下),Docker支持可配置的日志后端。目前支持的插件不断增加,包括之前提到的 json-file ,还有 syslog 、 fluentd 、 journald 、 gelf 、 awslogs 、 sp…

作者头像 李华
网站建设 2026/4/16 7:22:42

transformer模型详解视频教程:以Qwen3-32B为案例

Qwen3-32B 模型深度解析:从 Transformer 架构到超长上下文实战 在大模型技术飞速演进的今天,我们正经历一场由“参数规模驱动”向“架构效率与训练质量并重”的范式转变。当700亿、千亿参数模型不断刷新性能上限的同时,一个更值得深思的问题浮…

作者头像 李华
网站建设 2026/4/15 14:56:02

用 C 实现一个简化版 MessageQueue

Android 的 MessageQueue 很复杂(native poll/epoll、barrier、idle handler…) 但它的核心思想非常简单: ✅ 一个队列存消息 ✅ 一个循环不断取消息执行 ✅ 线程安全(加锁/条件变量)我们用 C 写一个可跑的简化版&…

作者头像 李华
网站建设 2026/4/16 7:20:43

ScheduledExecutorService 行为观察 Demo(可直接跑)

这个 Demo 主要做两件事:建一个 ScheduledThreadPoolExecutor(2),看看 2 线程时任务分配情况对比 scheduleAtFixedRate 和 scheduleWithFixedDelay 的行为每个任务打印:当前时间、线程名、第几次执行你可以新建一个 ScheduledDemo.java 直接运…

作者头像 李华