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

推荐订阅源

Y
Y Combinator Blog
V
V2EX
Jina AI
Jina AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
量子位
L
LangChain Blog
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
腾讯CDC
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss

博客园 - aqi00

鸿蒙版本的JSBridge兼容与安卓配套的H5啦 15天学会AI应用开发(二十)使用LangChain实现RAG检索功能 15天学会AI应用开发(十九)使用LangGraph实现持久记忆功能 鸿蒙版本的小小机器人APP开放源码啦 15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能 15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能 15天学会AI应用开发(十六)LangChain实现对话记忆功能 15天学会AI应用开发(十五)使用LangChain封装AI执行链 15天学会AI应用开发(十四)搭建LangChain的开发环境 15天学会AI应用开发(十三)上下文与RAG的阶段性总结 15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG 15天学会AI应用开发(十一)从TXT文件构建RAG知识库 15天学会AI应用开发(十)把文本嵌入模型换成国产模型 15天学会AI应用开发(九)利用Chroma持久化向量数据 15天学会AI应用开发(八)使用向量数据库实现RAG功能 15天学会AI应用开发(六)使用离线大模型对文本生成摘要 一文速览 HarmonyOS 6.1.1 推出的十个新特性 15天学会AI应用开发(五)使用AI摘要来压缩上下文消息 15天学会AI应用开发(四)根据Token长度截断历史对话 15天学会AI应用开发(三)把历史对话作为提示词会怎样 15天学会AI应用开发(二)为什么编写提示词这么重要 15天学会AI应用开发(一)搭建AI大模型应用开发环境 一文理清 HarmonyOS 6.0.2 涵盖的十个升级点 FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg 一文速览 HarmonyOS 6.0.1 引入的十个新特性 一文读懂 HarmonyOS 6.1 带来的十大重要升级 新书《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版啦 FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
aqi00 · 2026-06-20 · via 博客园 - aqi00

前面的文章依次介绍了如何截断历史会话的对话记录,包括按照记录数量截断、按照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消耗)》。