大模型的局限性体现在缺少实时性、无法获取私有知识等方面,而RAG可以帮助解决私有知识问题,让私有知识库和AI大模型更好地融合。怎么理解RAG的原理、应用场景和优缺点?一起来看看本文的分享。
上文简单介绍了AI大模型非常重要的提示工程,今天我们继续学习检索增强生成(Retrieval-Augmented Generation,RAG)。
RAG可以将私有知识库和AI大模型融合,让大模型“知道”我们的私有知识,变得越来越“懂”我们。
一、AI大模型的局限性
使用过大模型的小伙伴应该知道,虽然大模型看起来无所不能,但是它也经常胡编乱造,没有足够的确定性,这也限制了大模型在各种场景的落地。
大模型的局限性,可以简单归纳为以下两点:
针对实时性问题,一般通过Actions或Function Calling(函数调用,可以理解为接口回调)等方式,让大模型实时调用搜索、地图、甚至企业自己实现的api,获取各种需要的实时信息,减少幻觉,提升确定性。
而RAG可以解决私有知识问题,它通过外挂知识库的方式,让大模型可以根据检索到的内容,回答私有库的相关问题,也就是所谓的检索增强,目的同样是提升确定性。
二、基本概念
RAG的核心目的是通过某种途径把我们的知识告诉给AI大模型,其核心流程就是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”,看起来也就更“懂”我们。
那么具体要如何实现呢?再看一下核心流程,会发现有一个必须解决的问题,就是如何“根据用户提问,从私有知识中检索到包含答案的内容”,用户的提问是自然语言(包含复杂的语义理解),传统的关键字检索(Elastic Search)是无法理解语义的,这时候就需要引入向量检索的概念了。
我们可以通过向量检索来获得与用户问题语义最相近的私有知识库的内容,即便用户问题中没有包含关键字,也可以通过语义的相关性搜索到“包含答案的内容”。
实现RAG的具体步骤如下:
这样我们就可以收获一位更“懂我”的大模型了。
三、应用场景
RAG可以有效扩展大模型的知识库,以下是一些具体的例子:
RAG的优点:
RAG的缺点:
本文我们主要介绍了RAG的基本原理,RAG可以有效扩展大模型的知识库,有效提升回答的确定性,让AI大模型变得更加“懂”我们。
下篇文章,我会介绍如何让AI大模型连接外部世界,让大模型和我们的业务连接的更加紧密,甚至看起来“无所不能”,敬请期待。
本文由 @AI小当家 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议