第 04 课:用一次图书馆问答理解 RAG
先把框架和代码放一边。现在你面前只有一个问题:“二〇二六年十月十八日,图书馆开门吗?”还有资料包里的几张规则卡。把这个问题答清楚,就能走完一次 RAG 的主要流程。
先找哪张卡
A 的标题是开放时间,很容易先看到它。D 是临时闭馆公告,里面有问题所问的日期。这次需要把 D 找出来;如果还想解释与平常有什么不同,再带上 A。借阅数量 B 与这个问题无关,暂时用不上。
这一步叫 Retrieval,检索。它的工作是从一批资料中找候选,找到以后还要读内容。标题很像、分数很高,都不能代替“这段到底有没有回答我的问题”。
把找到的内容交给模型
把问题、A 和 D 一起放进输入,再加一句要求:“根据这些资料回答,结论旁注明编号;没写的不要猜。”模型现在能看见特殊日期通知,不必只凭训练中记住的常识回答。
这就是 Augmented,增强:给这次回答补上可用的证据。增强发生在上下文里,通常没有重新训练模型。资料多到放不下时,就更需要前面的检索来筛选。
最后是 Generation,生成。模型把资料组织成回答:“十月十八日全天闭馆,进行设备维护[D];普通周日通常九点到十七点开放[A]。”人要回头核对两个引用,看看是不是分别支持这两句话。
回答之前,还有准备资料的工作
我们能直接拿到 A、D,是因为资料包已经整理好了。实际文档可能散在 PDF、网页和手册里,先要收集、核对、切成合适片段,再建索引,方便下次查找。这部分通常在提问之前完成,不必每问一次就重做全部整理。
把两条线记下来:准备时是“文档 → 片段 → 索引”;回答时是“问题 → 相关片段 → 带资料的输入 → 答案”。向量搜索是一种找片段的办法,关键词也可以用,RAG 没有规定必须从某个工具开始。
用纸卡走一遍
抄下 A 至 E,再问“现在最多借几本”。挑出你认为需要的卡,在旁边写选择理由,然后写答案。每句事实能在卡上找到吗?如果没有,看看是漏拿资料,还是你自己补了原文没说的内容。
这次应该拿哪张
当前上限依据 B,是三本。E 的两本属于已被替代的历史规则,不能作为当前答案。手动挑卡是在模拟检索;想理解流程,到这一步已经够用了,暂时不用安装向量数据库。
继续阅读:LlamaIndex: Introduction to RAG
← 上一篇 · 学习计划 · 练习用的虚构图书馆资料 · 下一篇 →