什么是RAG?
当我们根据公司内的复杂文档开发一个项目的时候遇到一些问题我们直接去问大模型,大模型因为没有公司内相对应的文档数据所以它只会回答毫不相关的一些答案,这称之为“大模型出现了幻觉”,但当我们把问题和文档一起发送给大模型时,大模型就可以根据文档找出问题的解决答复数据但如果文档数据量很大的话大模型因为受限于接口接收数据量是不能接收的,这时Embedding模型的作用就显现出来了,我们先将文档切片,将切片数据一条条喂给Embedding大模型接着会产出一个固定长度的数组,接着将这些数据存储至专用的向量数据库。当我们发出问题时,问题数据也会经过Embedding模型产生一个数组,而这个数组在空间上就代表一个点,点与点之间离得越近,关系就越紧密,最终我们会选取离我们的问题向量空间点最近的几个点的数据内容一起打包发给大模型,大模型就可以较为准确的回答我们想要知道的答案。这就是RAG。