第 03 课:为什么大模型需要外部资料
借阅规则今年从两本改成了三本,模型却还在回答两本。你把它纠正过来,它下一次对话又可能不知道。遇到这种情况,很容易想到:“那就把最新规则训练进去吧。”
但很多问答任务可以先走一条更直接的路:回答之前,把这次需要的规则拿给它看。RAG 正是在做这件事。
模型不一定知道你手里的那份文件
训练数据有时间范围,也不可能包含每个人的内部资料。学校刚发的公告、你自己的笔记、团队尚未公开的说明,都不能默认模型已经读过。它知道“图书馆通常怎么借书”,也不等于知道“这间图书馆目前怎么借书”。
我们要的往往是后一个答案。问当前最多借几本,需要 B 的现行规则;问具体日期是否开放,需要那天适用的公告。泛泛的常识可能听起来合理,却不能替你完成这次查询。
一张临时公告就能改变答案
A 写周日九点到十七点开放。只看它,会以为十月十八日也照常开馆。但 D 明确写着:二〇二六年十月十八日全天闭馆,进行设备维护。问的是那一天,临时公告就不能漏掉。
给模型 A、D,再问当天能不能去,至少能让它在已有证据里作判断。资料被放进这次回答的上下文,不意味着模型参数已经更新;换一段对话,应用可能需要重新提供资料。
RAG 进一步解决“每次该拿哪段给它”的问题:先检索相关片段,再把片段与问题交给模型。资料更新时,维护的是文档及检索所用的内容,通常不需要每次重新训练大模型。
外部资料也有边界
如果 D 明明在资料库里,却没被搜出来,是检索出了问题。如果你问押金多少,而所有文件都没有这个金额,再怎么换问法也不能从这里找出依据。两种情况,下一步完全不同。
同样,资料本身可能写错、过期,模型也可能读错。给了外部资料以后,仍要看它选了哪个版本、结论引用了哪一句。开卷考试也会翻错页、看漏条件。
试着写三个需要外部资料的问题:一个问当前规定,一个问你自己的笔记,一个问资料没有覆盖的细节。给每题注明该去哪里找答案。这个小动作,会让你更清楚知识库到底需要装什么。
一个可对照的例子
“当前借几本”找 B;“十月十八日开放吗”找 D;“押金多少”目前没有依据,需要另外核对借阅收费说明。最后一题不能因资料没写,就回答无需押金。
继续阅读:Microsoft: RAG and indexes
← 上一篇 · 学习计划 · 练习用的虚构图书馆资料 · 下一篇 →