檢索增強生成(RAG):如何讓AI大模型更懂我?

0 評論 6492 瀏覽 29 收藏 8 分鐘

大模型的局限性體現(xiàn)在缺少實時性、無法獲取私有知識等方面,而RAG可以幫助解決私有知識問題,讓私有知識庫和AI大模型更好地融合。怎么理解RAG的原理、應(yīng)用場景和優(yōu)缺點?一起來看看本文的分享。

上文簡單介紹了AI大模型非常重要的提示工程,今天我們繼續(xù)學(xué)習(xí)檢索增強生成(Retrieval-Augmented Generation,RAG)。

RAG可以將私有知識庫和AI大模型融合,讓大模型“知道”我們的私有知識,變得越來越“懂”我們。

一、AI大模型的局限性

使用過大模型的小伙伴應(yīng)該知道,雖然大模型看起來無所不能,但是它也經(jīng)常胡編亂造,沒有足夠的確定性,這也限制了大模型在各種場景的落地。

大模型的局限性,可以簡單歸納為以下兩點:

  • 沒有實時性:AI大模型的知識不是實時的,最新的GPT-4 Turbo也只是把知識庫更新到2023年4月,所以無從得知該時間之后發(fā)生的事情。
  • 無法獲取私有知識:大模型的訓(xùn)練數(shù)據(jù)主要來源于互聯(lián)網(wǎng),不可能拿到個人或企業(yè)的私有數(shù)據(jù),所以無法回答私有問題。

針對實時性問題,一般通過Actions或Function Calling(函數(shù)調(diào)用,可以理解為接口回調(diào))等方式,讓大模型實時調(diào)用搜索、地圖、甚至企業(yè)自己實現(xiàn)的api,獲取各種需要的實時信息,減少幻覺,提升確定性。

而RAG可以解決私有知識問題,它通過外掛知識庫的方式,讓大模型可以根據(jù)檢索到的內(nèi)容,回答私有庫的相關(guān)問題,也就是所謂的檢索增強,目的同樣是提升確定性。

二、基本概念

RAG的核心目的是通過某種途徑把我們的知識告訴給AI大模型,其核心流程就是根據(jù)用戶提問,從私有知識中檢索到“包含答案的內(nèi)容”,然后把“包含答案的內(nèi)容”和用戶提問一起放到prompt(提示詞)中,提交給大模型,此時大模型的回答就會充分考慮到“包含答案的內(nèi)容”,看起來也就更“懂”我們。

那么具體要如何實現(xiàn)呢?再看一下核心流程,會發(fā)現(xiàn)有一個必須解決的問題,就是如何“根據(jù)用戶提問,從私有知識中檢索到包含答案的內(nèi)容”,用戶的提問是自然語言(包含復(fù)雜的語義理解),傳統(tǒng)的關(guān)鍵字檢索(Elastic Search)是無法理解語義的,這時候就需要引入向量檢索的概念了。

  • 向量:文本的語義關(guān)系在底層被處理為向量,向量就是一組浮點數(shù),例如[0.72, 0.42, …],代表該文本在N維空間里的坐標。在空間中距離越近的向量,語義也就越接近。一般使用歐式距離或余弦距離來衡量向量的相似度。
  • 向量檢索:向量檢索實際上是將文本分段轉(zhuǎn)換成了一個個向量,通過余弦距離或歐式距離來計算兩個向量之間的相似度,向量相似度越高,表示對應(yīng)的文本語義相似度越高。
  • 向量數(shù)據(jù)庫:專門為向量檢索設(shè)計的中間件。

我們可以通過向量檢索來獲得與用戶問題語義最相近的私有知識庫的內(nèi)容,即便用戶問題中沒有包含關(guān)鍵字,也可以通過語義的相關(guān)性搜索到“包含答案的內(nèi)容”。

實現(xiàn)RAG的具體步驟如下:

  1. 加載私有知識庫文檔,并將文本切分為一個個小片段,需要注意切分的粒度,然后將切分后的文本轉(zhuǎn)換成向量,存入向量數(shù)據(jù)庫。
  2. 將用戶的提問內(nèi)容也轉(zhuǎn)換成向量,在向量數(shù)據(jù)庫中檢索相似的文本內(nèi)容,檢索結(jié)果就是“包含答案的內(nèi)容”。
  3. 將用戶的提問內(nèi)容和檢索到的“包含答案的內(nèi)容”組裝成新的提示詞,發(fā)給AI大模型。
  4. AI大模型參考“包含答案的內(nèi)容”(私有化的知識資料),回答用戶的問題。

這樣我們就可以收獲一位更“懂我”的大模型了。

三、應(yīng)用場景

RAG可以有效擴展大模型的知識庫,以下是一些具體的例子:

  • 問答系統(tǒng):RAG可以用于構(gòu)建問答系統(tǒng),用戶提出問題,RAG模型從大規(guī)模的文檔集合中檢索相關(guān)的文檔,然后生成回答。
  • 對話系統(tǒng):在對話系統(tǒng)中,RAG可以用于生成更豐富、更具信息量的回答。
  • 文檔生成:RAG可以用于生成包含特定信息的文檔,例如新聞報道、研究報告等。

四、優(yōu)缺點

RAG的優(yōu)點:

  • 生成的回答更豐富:由于在生成回答時會考慮檢索到的文檔,因此生成的回答通常更豐富、更具信息量。
  • 能處理開放領(lǐng)域的問題:傳統(tǒng)的生成模型通常只能處理特定領(lǐng)域的問題,而RAG模型可以處理開放領(lǐng)域的問題,因為它可以從大規(guī)模的文檔集合中檢索信息。

RAG的缺點:

  • 計算成本高:RAG模型需要在大規(guī)模的文檔集合中進行檢索,這會增加計算成本。
  • 依賴文檔質(zhì)量:RAG模型的性能在很大程度上依賴于文檔的質(zhì)量,如果文檔質(zhì)量差或切分粒度不合適,可能會影響模型的性能。
  • 可能產(chǎn)生不準確的回答:雖然RAG模型可以生成豐富的回答,但是如果檢索到的文檔包含錯誤的信息,可能會導(dǎo)致生成的回答不準確。

五、總結(jié)

本文我們主要介紹了RAG的基本原理,RAG可以有效擴展大模型的知識庫,有效提升回答的確定性,讓AI大模型變得更加“懂”我們。

下篇文章,我會介紹如何讓AI大模型連接外部世界,讓大模型和我們的業(yè)務(wù)連接的更加緊密,甚至看起來“無所不能”,敬請期待。

本文由 @AI小當(dāng)家 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!