[Golang 修仙之路] 大模型篇:RAG

33 阅读1分钟

笔记来自

这篇文章就是我看了这个视频后的笔记

简介

RAG:检索 增强 生成。retrive augment generation。

核心思想:先检索,再把检索的结果作为prompt一起喂给大模型。减少大模型的prompt长度。

完整流程

提问前

  • 分片
  • 索引
  1. 我有一个很长的文档,那我就要先对文档分片。(分片的规则很多)
  2. 对每个分片进行Embedding,将分片转化成向量。Embedding是通过Embedding模型。向量维度越多,可以表示的信息就越多。向量是可以表示语义的。
  3. 索引就是要将向量和分片存入到向量数据库。

image.png

提问后

  • 召回
  • 重排
  • 生成
  1. 召回就是根据用户的问题,Embedding然后和向量数据库中的向量比较,找出最接近的10个。(最接近,算法也有不同,有欧氏距离、余弦相似度、点积等)
  2. 重拍就是在召回的这10个中,用准确度更高的算法(cross encoder),再找3个相似度最高的。
  3. 生成就是把这3个结果,结合用户的问题,发送给大模型。

image.png