RAG 工作机制

4 阅读1分钟

内容整理自 www.bilibili.com/video/BV1JL…

RAG 的整体流程

  • 准备部分(提问前): 分片 --> 索引
  • 回答部分(提问后): 召回 --> 重排 --> 生成

image.png

image.png

分片

分片:将一个大的文本内容分割成多个片段

分片的方式

  • 按照字数分
  • 按照段落分
  • 按照章节分
  • 按照页码分

索引

索引的过程

  1. 通过 Embedding片段文本转换成向量
  2. 片段文本片段向量存入向量数据库

向量数据库

向量数据库是一种专为存储和检索被称为“向量嵌入”的特殊数据类型而构建的数据库。向量嵌入是文本、图像、视频、音频等内容的含义或特征的数字表示。

用于存储和查询向量的数据,并提供了计算向量相似度等相关的函数

Embedding 模型

image.png

向量相似度计算方法

  • 余弦相似度
  • 欧式距离
  • 点积

召回

搜索与用户问题相关片段的过程

  • 获取用户问题的向量
  • 将上述向量值与向量数据库中的片段向量做计算(计算方法有余弦相似度等等)
  • 并进行排序,并获取分数较高的几个

image.png

重排

重排:将召回得到的结果重新排序

为什么要进行两轮排序?

因为召回准确率低但成本也低, 而重排成本高但准确率也高. 所以先进行一轮成本低的运算获取一个大概范围的结果,再进行一个准确率较高的计算获取精确结果

image.png

生成

image.png