惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
D
DataBreaches.Net
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
月光博客
月光博客
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
C
Check Point Blog

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
aqi00 · 2026-06-20 · via 博客园_首页

前面的文章依次介绍了如何截断历史会话的对话记录,包括按照记录数量截断、按照Token长度截断,以及浓缩为摘要截断等等,其中摘要操作又分为三大类:

1、使用第三方的摘要库对文本摘要;
2、使用在线大模型对文本摘要;
3、使用离线大模型对文本摘要;

以上对会话记录的各种处理操作,统称为AI应用的上下文管理,即让AI理解用户之前的意图。接下来将开启有关RAG部分的AI应用开发教程介绍。

一、什么是RAG

RAG的全称是Retrieval-augmented Generation,意思是检索增强生成,它是一种结合检索和生成技术的模型。RAG通过引用外部知识库的信息来生成回答,具有较强的可解释性和定制能力,常用于客服系统、智能助手等问答任务。

虽然大模型很智能了,但它有两个短板:

1、知识有截止日期,不懂新知识
因为大模型训练到某一天就停止学习,比如模型训练数据截止到2025年,那么2026年之后发生的事情就不懂了。并且用户的个人文档、公司文档等内部资料,大模型也都不知道。

2、会幻觉、爱胡说八道
大模型是靠概率猜下一个字,不是真的 “懂知识”。没人约束它时,容易编事实、编人名、编数据、编政策,一本正经地胡说八道。

而RAG会分析并消化用户提供的文档资料,从中构建专属的知识库,再把这些资料喂给大模型,使得大模型能够照着资料回答问题。
简而言之,大模型是聪明但记性差、爱吹牛的人,而RAG是翻课本、翻知识库、查笔记的人。

二、如何使用RAG

RAG的使用流程包含下列五个步骤:

1、加载文档资料
读取 TXT、PDF、Word、HTML等格式的资料文件。

2、对文本分块
读出来的资料信息为长文本,需要切成一小段一小段,比如每段300字,防止太长浪费Token、太短又缺乏上下文。

3、向量化文本
接着把每段文字变成数字向量,计算机才能理解语义相似度。

4、存入向量数据库
把数字化后的向量和原始文本保存起来,比如保存到Chroma、FAISS、Milvus。

5、在用户提问时,检索向量数据库,并把结果反馈给大模型
用户输入的问题也要转成数字向量,并从向量数据库找出最相似的几段原文,再把问题与检索到的原文一起发给大模型,好让大模型基于给到的资料来回答,而非自己胡编乱造。

三、一个简单的仿RAG程序

完整的RAG会用到多个Python库,这里为了方便理解,先用一个简单的模拟程序来演示RAG的操作过程。
无需安装任何第三方库,仅仅根据基本的字符串查找来模拟RAG,下面是具体的Python测试代码:

阅读以上代码,发现它根据知识库是否包含指定字符串来回答问题。
运行上面的Python代码,根据提示输入问题“人工智能”,输出日志结果如下:

可见该代码按照字符串匹配的方式,一旦在某条知识中找到指定字符串,就返回这条知识。

本系列的AI应用开发文章目录为《15天学会AI应用开发全目录(零基础小白,零Token消耗)》。