RAG详解
1.什么是RAG
RAG 是 Retrieval-Augmented Generation(检索增强生成)是一种结合信息检索与生成模型的技术框架,主要用于提升人工智能系统(尤其是大语言模型)在生成内容时的准确性和可靠性。
2.RAG解决什么难题?
幻觉问题:传统生成模型可能编造不实信息(如错误日期、虚构事实),RAG通过引入实时检索结果,减少错误。
知识滞后性:模型预训练数据可能过时,RAG可动态获取最新信息(如新闻、研究进展)。
例如:你问大模型你们单位几点上班,在没有上下文的前提下大模型不能给你正确答案。
那么我将公司的考情规则一起给大模型就可以给出答案了。但随着公司规模扩大,考勤规则字数越来越多,大模型的答案就越容易跑偏,所以我们希望大模型找到公司考勤规则中和我们问的问题最接近的一段,这就是RAG要解决的问题。
首先需要将大的考勤规则切段,使用Embedding模型将每段文字转化成向量。
3.什么是Embedding模型
Embedding模型是一种将离散数据(如文本、图像、用户行为等)映射为连续向量表示的技术框架,其核心目标是通过数学向量捕捉数据的语义、关系或特征。
Embedding模型的输入为一段文字而输出是固定长度的数组。使文字内容转化为多维坐标,将文字特征转化为数字。
例如:输入:金毛 输出:[0.26,0.39,0.35.....,0.01]
以动物狗的二维坐标举例x坐标为体型y坐标为毛长(最高为1最低为0):
如图
此时用户提问“和阿拉斯加最相近的狗是那种狗?” ai就会将阿拉斯加向量化,比如向量化成了(0.7,0.7)那么在坐标中最接近的狗就是(0.6,0.65)的金毛。
同样在RAG架构中,我们将录入的文档文件切割向量化成多个几百或几千维度的向量,再将用户输入的问题转换成向量找到举例最近的知识库向量数据返回。
4.RAG的缺陷
1.文章拆分策略难以支撑复杂的文档场景。
2.缺乏全局视角,例如:用户问上面那个狗的案例出现了几种狗,RAG就无法检索到任意一条文章。