为什么你的AI总在“一本正经地胡说八道”?来认识一下RAG
这就是大模型圈子里大名鼎鼎的“幻觉”(Hallucination)。
你问它一本冷门小说里的配角叫什么,它大概率会给你极其自信地编一个名字。为什么?因为大模型本质上是一个“接话把子”,它靠海量语料训练出来的概率去猜下一个字应该是什么,而不是真的在翻阅一本字典。
那怎么治这个毛病呢?
最笨的办法是“重新训练”。把你们公司的内部资料全喂给它,重新教一遍。但这成本太高了,耗时耗力,而且你资料一更新,又得重头来过。
稍微聪明点的办法是“长文本”。现在很多大模型支持几十万字的上下文窗口,你直接把几十份PDF扔进去,让它“带着资料答题”。这办法能用,但一方面很费钱(输入的字数越多,API调用越贵),另一方面,当资料多到一定程度,大模型会“分心”,容易漏看关键信息。
直到RAG技术出来,事情才有了根本性的转机。
RAG,全称叫Retrieval-Augmented Generation,翻译过来是“检索增强生成”。名字听着挺唬人,其实说白了,就是允许大模型“开卷考试”。
你回想一下上学的时候。闭卷考试,你只能凭记忆答题,遇到记不清的地方,要么空着,要么瞎编——这就是现在纯大模型的处境。
那开卷考试呢?老师允许你带一整座图书馆进去,但你肯定没时间把所有书都翻一遍。所以你的策略一定是:先看题目,然后去图书馆里“检索”出最相关的几页书,把这几页书摊在桌上,最后根据这几页书的内容来组织答案。
RAG干的就是这件事。
具体是怎么操作的呢?我们可以把它拆解成四个动作:
第一步:把书拆成便利贴(切块 Chunking)
你不能指望AI去读一本1000页的书然后精准定位。你得先把公司的规章制度、产品手册切分成一小段一小段的。比如,把一本员工手册拆成几百个“便利贴”,每张上面只有一两百个字。
第二步:给便利贴贴上“气味标签”(向量化 Embedding)
这一步稍微有点技术门槛,但可以这么理解:文字本身是没法直接被搜索的,你得把文字变成一种“数字密码”。这个过程叫向量化。你可以把它想象成给每张便利贴喷上一种独特的气味。两段文字意思越接近,它们的“气味”就越像。AI就是靠闻气味来找东西的,而不是靠死记硬背关键词。
第三步:去图书馆找书(检索 Retrieval)
现在用户问了一个问题:“今年国庆节放假安排是什么?”
系统会把这个问题也变成一种“气味”,然后去仓库里闻。很快,它闻到了三张气味最匹配的便利贴。拿出来一看,一张写着国庆放假天数,一张写着调休安排,一张写着加班费标准。完美,不需要翻别的书了。
第四步:带着小抄写答案(生成 Generation)
系统把用户的原始问题,加上刚才找到的那三张“便利贴”,打包成一个 prompts(提示词),一股脑塞给大模型。
这时候大模型接到的指令就变成了:“请根据以下提供的资料,回答用户的问题。如果资料里没写,你就说不知道,绝对不许瞎编。”
你看,经过这么一轮折腾,大模型就从一个“爱吹牛的江湖术士”,变成了一个“严谨的图书管理员”。
你可能要问,费这么大劲搞个RAG,到底图啥?
最直接的好处是精准且省钱。你不需要花几百万去微调一个专属大模型,随便拿一个市面上开源的便宜模型,配上RAG,就能处理极其专业的领域问题。比如你们医院的内部问诊系统、律所的案例库检索,用RAG都是现成的解法。
其次是可溯源。以前AI给你个答案,你不知道它从哪学来的。现在有了RAG,AI可以明确告诉你:“根据《员工手册》第三章第二页的内容……”,甚至直接给你甩个原文链接。在企业级应用里,这种“知根知底”的安全感是无价的。
最后是好更新。公司出了新规定?很简单,把旧文档删掉,把新文档切一切、变成“气味”存进去就行了。大模型本身什么都不用改,立马就能掌握最新政策。
当然,RAG也不是万能药。它现在最大的痛点在于“找得准不准”。有时候用户问得比较含糊,或者文档切得乱七八糟,系统就会找错“便利贴”,导致大模型基于错误的资料给出了一个看似合理但其实跑偏的答案。这也就是现在很多搞RAG的工程师每天都在掉头发优化的地方—怎么切文档更合理,怎么检索更聪明。
但不管怎么说,RAG已经是目前把大模型拉下神坛、真正在千行百业里干脏活累活的最靠谱路径。
它让我们认清了一个现实:我们不需要一个全知全能的超级大脑,我们只需要一个会说话的搜索引擎,加上一个懂人情世故的总结员。RAG,正是把这俩拼在了一起。
夜雨聆风