通过检索外部数据,增强大模型的生成效果

RAG的引入是为了增强大模型的真实性、时效性,减少AI幻觉,在不同知识领域生成更专业的回复,相当于给他一本参考书,根据书本内容生成答案

RAG的发展阶段

Naive RAG → Advance RAG → Modular RAG

image.png

RAG工作流程

  1. 索引化: 将文档切分成片段,再编码为向量,存储在向量数据库里
  2. 检索: 将输入编码为向量,在数据库里检索到相似度最高的top K片段
  3. 生成: 将原始问题和检索问题得到的块都作为LLM的输入,令其生成最终的回答

image.png

Naive RAG严格遵循传统处理流程

文档分块

分块策略:

向量

数学里,向量指具有大小和方向的量,几何视角里可以表示为带箭头的线段,箭头所指为方向,线段长度即为大小

在AI视角中,向量是复杂数据对象的数值化表示,计算机无法理解文本和图像,因此需要通过Embedding嵌入技术将其转换为高维向量,使用专门的向量模型去完成实现

Embedding