RAG(Retrieval-Augmented Generation,检索增强生成)主要用来解决大模型的几个核心问题:

  1. 知识过时
    大模型的知识停留在训练数据截止时间。RAG可以先检索最新资料,再根据资料回答,不必频繁重新训练模型。

  2. 缺少私有或专业知识
    模型通常不了解企业内部文档、产品手册、合同、医学资料等。RAG可以接入这些知识库,让模型回答特定领域的问题。

  3. 模型幻觉
    大模型可能编造听起来合理但实际错误的内容。RAG通过提供相关原文作为上下文,降低无依据回答的概率。

  4. 回答难以追溯
    纯模型生成通常无法说明信息来源。RAG可以返回引用的文档、段落或链接,方便用户核实。

  5. 长文档无法全部放入上下文
    当资料数量很大时,不适合把全部内容一次性输入模型。RAG只检索与问题最相关的片段,可以节省上下文和调用成本。

典型流程是:

用户提问
   ↓
将问题转换成向量
   ↓
从知识库检索相关文档片段
   ↓
把问题和检索结果交给大模型
   ↓
生成有资料依据的回答

一句话概括:RAG让大模型在回答前先“查资料”,主要解决知识不新、不全、不准以及不可追溯的问题。

不过RAG并不能完全消除幻觉;如果检索结果不相关、文档本身错误,或者模型没有正确使用资料,回答仍可能出错。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐