首页 文章 分类 标签 关于

RAG是什么?——让AI"临时翻书"回答你

🤖 RAG是什么?——让AI"临时翻书"回答你

你有没有遇到过这种场景——

问 AI “我们公司的报销流程是什么?",它一本正经编了一套,但你公司压根没这规定。

或者问 “2025年诺贝尔奖颁给了谁?",你明明知道它的训练数据只到某个时间点,它居然也给你列了一堆名字,一查全错。

这就是大模型的"知识截止期"问题。模型训练好后,它的知识就定格了。如果你有一些私有的或新近的信息,它就是个盲人。

RAG 就是给这个盲人配一副临时眼镜。

你先问一个问题,背后发生5件事

假设你搭建了一个企业知识库系统,里面有你公司的制度文档。你问:

“我们公司年假怎么休?”

系统内部做的事,拆开来看:

第1步:把你的问题转成"指纹”

你的原问题是"年假怎么休”。但你公司的文档里可能写的是"员工休假管理办法"“带薪年假实施细则”——这几句话里都不含"怎么休"三个字。

如果靠关键词匹配(搜"年假"二字),可能找不到,因为文档标题写的别的名字。

所以RAG 做的第一件事:把你的问题转化成一串数字编码——你可以理解为指纹。每个问题都有它的指纹,指纹相近的就是意思相近的内容。

比如:

  • “年假怎么休” 的指纹 → [0.23, 0.87, -0.14, 0.51……](几百个数字)
  • “员工年休假管理办法” 这段文档的指纹 → [0.22, 0.88, -0.13, 0.52……](很接近)
  • “公司食堂早餐供应时间” 的指纹 → [-0.45, 0.12, 0.78……](完全不沾边)

这一步的关键:匹配的是"含义"而不是"关键词"。你的问法和文档的写法完全不一样没关系,只要意思接近就能匹配上。

第2步:去资料库里搜最相关的内容

系统拿你问题的指纹,和资料库里所有文档的指纹做比对,挑出最接近的3-5段

这个资料库叫向量数据库,专门存文档的"指纹",能做快速的相似度比对。

比如它可能搜到这三段:

片段1:员工连续工作满1年以上,可享受带薪年休假。 片段2:年休假天数:工龄1-10年5天,10-20年10天,20年以上15天。 片段3:年休假申请流程:登录HR系统→休假管理→选择日期→提交审批。

第3步:把查到的资料塞进AI的输入框

这是最核心的一步。系统不是让AI自己去查,而是把搜到的片段拼成一段文字,直接放到发给AI的指令里

实际发给AI的 Prompt 是这样的:

请基于以下提供的资料来回答用户问题。如果资料里没有相关信息,请直接说"我不知道",不要编造。

【资料1】
员工连续工作满1年以上,可享受带薪年休假。

【资料2】
年休假天数:工龄1-10年5天,10-20年10天,20年以上15天。

【资料3】
年休假申请流程:登录HR系统→休假管理→选择日期→提交审批。

---

用户问题:我们公司的年假怎么休?

看到了吗?资料是直接贴在AI的输入框里的。 就像考试前桌上摆好了参考书,照着答就行。

第4步:AI只看资料回答问题

现在AI看到的输入里,既有搜到的资料又有用户的问题。它不靠自己的"记忆"回答,而是严格基于提供的资料生成答案。

如果资料里有答案,它就整理成通顺的回答。如果没搜到相关资料(比如你问"茶水间有免费咖啡吗?",资料库里压根没有),好的RAG系统会加一条"没资料就说不知道"的指令,AI就不瞎编了。

AI最终回答你:

根据公司规定,连续工作满1年以上的员工可享受带薪年休假。工龄1-10年可休5天,10-20年10天,20年以上15天。申请流程是登录HR系统→休假管理→选择日期→提交审批。

第5步:把答案返回给你

整个过程,从你发问到收到答案,大约1-3秒

背后发生了:问题向量化 → 向量数据库检索 → 资料排序整合 → 组装Prompt → 大模型生成回答 → 返回结果。六个环节,全部在几秒内完成。

资料库是怎么建起来的?

你导入的文档(员工手册、产品手册、FAQ),系统不是整篇存进去的,而是分成两步处理:

第一步:切块。 把文档切成一段一段的,每段几百字。就像把一本书撕成若干页,每一页单独放好。这叫分块

为什么不能整篇存?因为AI的输入框有字数限制(128K个token左右),你没法把整本书全部塞进去。只需要找出最相关的几页就行了。

第二步:转指纹。 对每一段文字,用AI模型(比如OpenAI的 text-embedding-3-small)转化成"指纹"(也就是向量)。然后指纹 + 原文一起存进向量数据库

建好这个索引后,才能实现上面说的"搜资料"那一步。

RAG到底解决了什么问题?

知识时效性。 大模型训练一次要花几千万美元,训练完知识就定格了。GPT-4的知识截止到2024年。你问2025年的事,它只能编。RAG让它去检索最新的新闻、政策、论文,再基于这些资料回答。相当于给它配了一份"当日报纸"。

私有数据。 公用的ChatGPT不知道你公司的内部信息。RAG方案:把你的内部文档导入系统,员工问"报销流程是什么"时,系统先去内部文档里检索,再让AI基于结果回答。

事实准确性。 多地实测数据,没有RAG时回答内部问题的准确率大约70%(剩下30%在编),加上RAG后能到90%以上。有资料照着答,总比凭空猜准。

RAG不是完美的

资料库里没有 = 回答不了。 这是根本限制。你只导入了员工手册没导入产品FAQ,那用户问产品问题,系统就无能为力。

切的块不够好。 一段切太短(两句话),信息不完整,AI看不懂。切太长(2000字),关键信息淹没在段落中间。切块策略至今没有完美方案,大部分靠经验调参。

多版本混淆。 2023年版的休假制度和2025年修订版都在库里,AI可能混着回答。所以一些成熟方案加入了时间戳排序——优先用最新的。

搜索速度。 十万份文档的库,首次检索可能需要2-3秒。对话场景中这个延迟能被感知。很多系统做了"预加载"和"缓存"来加速。

和"微调"有什么区别?

下篇会详细讲,这里先点一下:

  • RAG:边查边答,临时翻书。灵活,换一批资料就像换了本参考书,不需要重新训练模型。
  • 微调:给AI补课,把新知识融进它的"大脑"里。回答更自然,不需要每次都检索。缺点是贵(一次可能几千块),想换知识得重新微调。

选哪个?

  • 资料经常变(新闻、政策更新)→ 选RAG
  • 资料稳定且量大(医学术语、法律条文)→ 选微调
  • 大多数落地场景是二者结合:先微调让AI变成领域专家,再配上RAG让它能查最新资料

总结

RAG不是什么黑科技,思路非常朴素:

给AI配一本参考书,让它边查边答,而不是凭记忆瞎编。

整个过程可以简化为:

  1. 文档被切碎、转成指纹、存进向量数据库
  2. 你问一个问题
  3. 系统把你的问题也转成指纹,去数据库里找最相似的片段
  4. 找到的资料拼到AI的输入框里
  5. AI基于资料回答你

整套跑下来1-3秒。背后有分块策略、向量检索、结果排序、Prompt组装这些环节,任何一个做得不好,答案质量都会受影响。


📖 本文是MST「30天AI科普专栏」第19篇 / 共25篇 🔖 分类:实操技巧 关注MST,每天一个AI小知识,把大模型讲明白。