RAG 任务概述

我们可以把 RAG 任务用一个统一的框架来描述:

M=(G,R=(I,S))M(q;D)=G(q,S(q;D^))D^=I(D) \begin{aligned} M&=(G, R=(I, S))\\ M(q;D)&=G(q, S(q; \hat D))\\ \hat D&=I(D) \end{aligned}

这里的字母变量都是什么意思呢?有必要搞这么复杂的数学描述吗……原论文甚至还用上了希腊字母和花体字……

  1. MM 是整个 RAG 框架。
  2. M(q;D)M(q;D) 代表一次查询:给定问题 qq 和知识库 DD 让模型给出回答。
  3. 这里的 GG 是 Generation Module,即模型生成。
  4. R=(I,S)R=(I,S) 是 RAG 里的 Retrieval-Augment 部分
    1. 其中 II 用于处理知识库 DD,将原始文档 DD 转化为特定的数据结构 D^\hat D,以期更好质量的 retrieval
    2. SS 是 Search,其实更像 Augment 的过程,从处理好的数据库 D^\hat D 里获取相关的信息,传递给 Generation 模块 GG 让模型进行输出。