一、什么是 RAG?
RAG 的全称是Retrieval-Augmented Generation
资料是这么描述的:
RAG isan AI framework that combines the strengths of traditional information retrieval systems (such as search and databases) with the capabilities of generative large language models (LLMs)
翻译过来就是:是一个AI框架(人工智能框架),把以前提取系统消息的优势和LLM(是一种基于大量数据训练的统计语言模型)相结合出来的
我把他称为:提取文档信息,基于这些信息生成回答(仅作于个人说法)
二、RAG 的工作流程
大致可分为三个阶段
1、预处理文档:
我理解为,把一些数据,文档,网页,知识库,数据库等,这些分成小片段,这些片段可以理解为一组词(或者token),然后转换成为电脑可以理解的语义(这个词叫做"向量化"),存储到数据库
2、提取到相关内容:
我理解为,用户提问后(问题也会"向量化",去数据库中查找),根据语义去数据库做相似度搜索,即时没有重合的关键词,也能找到相关数据
3、生成回复内容:
我理解为,RAG框架会把"问题+相关片段"交给LLM(是一种基于大量数据训练的统计语言模型),自然准确的回答
注:"retrieval"单词理解存在点误差,含义指的是"检索",不是"提取",一开始我理解为提取,
提取指的是所有的内容,检索指的是只找相关内容,
三、RAG 的优势(google)
传统大语言模型虽然能力很强,但仍然存在一些天然限制:
知识存在时间截止点,无法了解最新信息;
容易出现“幻觉”,即生成不准确甚至虚构的内容;
无法直接访问企业内部知识、私有文档或实时数据。
而 RAG 正是为了解决这些问题:
可以接入最新数据;
可以利用企业内部知识库;
显著提高回答的准确性;
有效减少模型“胡编乱造”的情况