【Datawhale AI 夏令营】第四期 大模型应用开发笔记 01 RAG

RAG即Retrieval-Augmented Generation,在自然语言处理(NLP)中起到关键作用。

好了现在你可以忘掉这段话了。

接下来我们要讲的就是一个东西: 我们问AI问题,AI是怎么组织语言给我们回答的。

你也许会说,不就是找资料,然后copy这,copy那儿嘛,有什么可讲的。

没错,这就是我们人类的写论文的套路嘛。但是对于计算机来说,这个要比人类的处理要复杂一些。接下来我们来看看,计算机是怎么找资料,组织资料的。先看一张图

5794dfe6589c4713910a14eaf49846ae.png

 全是英文哈哈哈,增加难度,我来介绍一下。

这里有一个背景, OpenAI 的 CEO 萨姆·奥特曼(Sam Altman)被公司突然解雇后又被重新聘用。

我们先看到黄色那一小格。

Input就是用户输入,下面那一段英文其实就是说希望AI来评价一下这个事件。

我们再看右上角淡紫色的一格。

chunks就是在处理大量文本或数据时,常常会将其分割成较小的部分(即 Chunks)。我们注意到,两个箭头指向chunks,一个是用户输入的问题,一个是数据库中的documents,都被剪成了chunks。

我们再把这些chunks变成向量,这个过程被称为embedding。变成向量有利于进行后续的分析、比较、计算等操作。

索引Indexing:则是包括了将文档库分割成较短的 Chunk,与embedding这两个过程。

再看右下角的粉色那一格。

relevant ducument相关的信息

我们找到与用户问题相关的chunks。这怎么找到呢,其实就是比较,我们生成的向量。用户查询首先会经过向量模型得到相应的向量,然后与 数据库 中所有 Chunk 的向量计算相似度,最简单的例如 余弦相似度,然后得到最相近的一系列 Chunk 。

这个过程过程被称为 检索(Retrieval)

再看左边的一个蓝色的大框。

其实就是根据我们检索出来的相关信息组合起来生产一篇“新的”文章作为回答。

这就是Generation。

综上RAG的三个过程:

Indexing      

索引:将文档库分割成较短的 Chunk,即文本块或文档片段,然后构建成向量索引(embedding)。

Retrieval      

检索:计算问题和 Chunks 的相似度,检索出若干个相关的 Chunk。

generation  

生成:将检索到的Chunks作为背景信息,生成问题的回答。

最后再来一张图片考考你

18bddf4690fa4de09b08a77cca74424f.png

 补充:

为了完成检索,需要离线将文档(ppt、word、pdf等)经过解析、切割甚至OCR转写,然后进行向量化存入数据库中。

OCR是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。

2nd Retrieval 其实是第一轮检索出来的chunks按照与用户的问题的相关程度进行排列,相关程度高的 chunks 会被优先展示,从而为用户提供更具针对性和价值的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值