拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

为什么有了大模型还需要RAG?

为什么有了大模型还需要RAG?

为什么有了大模型还需要RAG?幻觉、私有知识、时效性四大问题

真实的困境

假设你们公司有几千份内部文档:产品手册、操作规范、历史项目经验、客户合同…领导想做一个AI问答系统,让员工随时可用问”我们的退款政策是什么“、”这个客户签了那些条款“,系统能直接给出准确答案

你直接用大模型来做,第一轮测试效果还不错—但很快发现几个绕不开的问题:

  • 模型对公司内部文档一无所知,回答全靠编
  • 产品文档上周刚更新,但模型说的还是老版本的内容
  • 模型回答的很流畅,但根本无法知道他说的是真是假,也无法追溯来源
  • 文档加载到Prompt里面,token成本高到无法接收

这个不是模型的能力不够,而是大模型作为一种技术,有几个根本性的天花板—而RAG就是为了突破这些天花板而诞生的

大模型的局限性

幻觉问题

大模型的本质就是一个概率语言模型,它在生成每个token时做的是”预测下一个最可能的词“,而不是”从知识库里面查询正确的答案“

这意味着当他不知道答案时,他不会说“我不知道”,他会生成一个听起来最合理的答案。这个答案可能完全是捏造的,但是语气鉴定、格式工整,让人难以判断真假

在企业场景里面,幻觉的危害远比“回答错误”更严重—他会以可信的方式传播错误信息,而用户毫不知情

私有知识问题

大模型是在公开数据上训练的。你们公司的文档、客户合同、产品手册、会议记录,这些内容它从没有见过,也不可能知道

有人会想:那把文档全部放进Pompt里面,对于少量文档这是可行的,但是当文档量达到几百份、几千份时。token成本和上下文长度都会变成瓶颈。而且模型在极长上下文里面的注意力会严重稀释,对中间内容的利用率极低

知识更新问题

模型的训练是有截止日期的,通常落后现实6个月到一年。产品价格变了,政策修订了,新的竞争对手出现了—这些模型全不知道

你不可能每隔几个月就重新训练一遍模型来“更新知识”,这在成本和时间上都不可接受

可追溯性问题

当模型给出一个答案时,它无法告诉你“这句话来自文档的第几页”,对于法律、医、金融等对准确性要求极高的场景,没有来源引用的答案往往是不可接受的

RAG是怎么应对大模型的缺点的?

RAG的全称是Retrieval-Augmented Generation,检索增强生成。他的核心思路非常直觉:在让模型回答之前,先去知识库里面检索出来最相关的内容,把这些内容作为上下文一起喂给模型,让模型“看着资料”来回答

RAG针对四个问题都有应对:

  • 对幻觉问题:检索到的原文片段作为上下文传入模型,模型被要求“根据以下资料回答”,而不是凭空生成。有了事实依据的约束,幻觉概率大幅度降低—但注意,不是归零
  • 对私有知识问题:知识库完全由你自己构建和维护,可用包含任何内部文档,模型不需要知道只写内容,只需要在被检索到的片段基础上进行推理和组织语言
  • 对知识更新问题:更新知识库,不需要重新训练模型,只需要更新文档、重新做向量化索引即可。知识的新鲜度完全由知识库决定,和模型训练的截止日期解耦
  • 对可追溯更新问题:每次检索都能知道具体命中了那份文档的那个片段,可以自行检查

RAG不是万能的:什么场景适合,什么场景不适合?

很多人看到RAG的思路之后,产生了一个误区:是不是所有的大模型应用都应该加RAG?

适合RAG的场景:

  • 知识密集型的问答系统,比如企业内部的知识库、产品手册问答、法律法规查询—这类场景对事实准确性要求高,内容量大,而且需要明确的来源追溯
  • 内容频繁更新的业务,比如新闻摘要、竞品分析、政策解读—这类场景下知识库可以持续接入实时数据,而模型本身不需要动
  • 长尾事实查询,比如我们公司在上海办公地址是什么,这个合同的甲方是谁,这类问题的答案藏在特定的文档里面,必须检索才能找到
返回列表