為什么 RAG 能讓 AI 更 “聰明”?工作原理深度拆解
在人工智能領(lǐng)域,大語(yǔ)言模型(LLM)的快速發(fā)展為自然語(yǔ)言處理帶來(lái)了革命性的突破。然而,這些模型在處理實(shí)時(shí)信息、專(zhuān)業(yè)領(lǐng)域知識(shí)以及確?;卮饻?zhǔn)確性和可靠性方面仍面臨挑戰(zhàn)。本文將深入探討一種名為RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成)的技術(shù)框架,它通過(guò)結(jié)合信息檢索與大語(yǔ)言模型的生成能力,為AI模型提供了強(qiáng)大的外掛支持。
一、為什么要做RAG?
時(shí)效性:模型的訓(xùn)練是基于截止某一時(shí)間點(diǎn)之前的數(shù)據(jù)集完成的,這意味著在這之后發(fā)生的事情大模型就難以回答。如果需要構(gòu)建能夠推理私有數(shù)據(jù)或者模型截止日期后引入的數(shù)據(jù),則需要使用RAG;
解決模型幻覺(jué)問(wèn)題:傳統(tǒng)大模型依賴訓(xùn)練數(shù)據(jù),易生成錯(cuò)誤信息,比如用戶問(wèn)了一個(gè)大模型不知道的東西,它會(huì)通過(guò)瞎編來(lái)回答,其實(shí)毫無(wú)依據(jù)。RAG 通過(guò)外部知識(shí)檢索提供實(shí)時(shí)、可靠的上下文支撐,因此減少“一本正經(jīng)的胡說(shuō)八道”現(xiàn)象;
(美國(guó)的一位律師,他用大模型去搜集案例,Chat GPT確實(shí)給出了幾個(gè)案例。律師反復(fù)去確認(rèn)這些案例是真實(shí)的嗎?大模型回復(fù)都是真實(shí)的,開(kāi)庭時(shí),經(jīng)過(guò)核實(shí)這些案例其實(shí)都是AI虛構(gòu)出來(lái)的。)
彌補(bǔ)專(zhuān)業(yè)領(lǐng)域知識(shí)內(nèi)容不足:金融領(lǐng)域、醫(yī)療領(lǐng)域等有自己專(zhuān)業(yè)知識(shí)的沉淀,大模型其實(shí)是不具備某領(lǐng)域非常專(zhuān)業(yè)知識(shí)的能力的,那我們就可以把專(zhuān)業(yè)知識(shí)通過(guò)Rag技術(shù)讓大模型進(jìn)行知識(shí)庫(kù)檢索。例如金融(業(yè)務(wù)上的專(zhuān)業(yè)知識(shí)、產(chǎn)品知識(shí)、產(chǎn)品手冊(cè)、優(yōu)質(zhì)的用戶問(wèn)答等);
可靠的知識(shí)來(lái)源與可驗(yàn)證性:來(lái)自哪篇文章、哪個(gè)文檔、哪個(gè)網(wǎng)頁(yè)都有跡可循,可以看到回答的依據(jù)來(lái)源,使得驗(yàn)證答案準(zhǔn)確性變得容易起來(lái);
保障數(shù)據(jù)安全:可以讓大模型調(diào)用私有知識(shí)庫(kù)來(lái)服務(wù)用戶,避免數(shù)據(jù)上傳云端或者外部,導(dǎo)致重要信息、敏感數(shù)據(jù)外泄的情況。
二、RAG到底是什么?
RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成)是一種結(jié)合信息檢索與大語(yǔ)言模型生成能力的技術(shù)框架,它由兩部分組成:“檢索器”和“生成器”
- 檢索器從外部知識(shí)中快速找到與問(wèn)題相關(guān)的信息
- 生成器則利用檢索到的信息來(lái)生成精確和連貫的答案。
簡(jiǎn)單來(lái)說(shuō)就是:通過(guò)檢索的模式,為大語(yǔ)言模型提供強(qiáng)有力的外掛,從而使大模型生成的答案更符合用戶想要的答案。
三、RAG的工作原理
步驟一:構(gòu)建可檢索的知識(shí)庫(kù)
如何構(gòu)建可檢索的知識(shí)庫(kù)?
01.知識(shí)整理:以文件格式存儲(chǔ),比如 word、pdf、ppt、excel、在線的、網(wǎng)頁(yè)等等;
02.數(shù)據(jù)清洗及格式化:將不同格式的數(shù)據(jù)內(nèi)容提取為純文本
03.內(nèi)容切分:將文本內(nèi)容按段落、主體或者邏輯單元切分成較小的知識(shí)片段(Chunk); 那誰(shuí)來(lái)切呢?Embedding
04.向量化:將每個(gè)知識(shí)片段轉(zhuǎn)化為向量表示(比如Open AI的 Embedding 接口)
知識(shí)補(bǔ)充:什么是向量
向量(Vector)是一種將復(fù)雜信息轉(zhuǎn)化為計(jì)算機(jī)可處理的數(shù)值形式的核心工具,本質(zhì)上是 “高維空間中的有序數(shù)值數(shù)組”。它通過(guò)將文本、圖像、聲音等數(shù)據(jù)映射為特定維度的數(shù)字序列,讓 AI 模型能夠高效地理解、計(jì)算和學(xué)習(xí)數(shù)據(jù)背后的規(guī)律
通俗來(lái)說(shuō),向量是 AI 的「數(shù)字身份證」:把萬(wàn)物變成數(shù)字串
在 AI 眼里,圖像、文字、聲音甚至用戶行為,都必須先變成一串?dāng)?shù)字組成的向量才能處理。
舉個(gè)栗子:
文本(NLP 領(lǐng)域): 句子 “我喜歡 AI” 會(huì)被轉(zhuǎn)化為向量,比如用 Word2Vec 技術(shù)生成 [0.8, -0.3, 1.2, …] 這樣的數(shù)字串,向量中的每個(gè)數(shù)字代表一個(gè)隱藏的語(yǔ)義特征(比如 “喜歡” 的情感強(qiáng)度、“AI” 的領(lǐng)域相關(guān)性)。
神奇的是:“AI” 和 “人工智能” 的向量在空間中會(huì)非常接近,因?yàn)樗鼈冋Z(yǔ)義相似。
借助Embedding模型,將切分好的片段轉(zhuǎn)化成向量(數(shù)字組成的),這個(gè)向量是可以比較相似度
05.關(guān)聯(lián)元數(shù)據(jù):給每個(gè)向量關(guān)聯(lián)相關(guān)元數(shù)據(jù)(如:文檔名稱(chēng)、創(chuàng)建時(shí)間、作者、來(lái)源等)
06.載入向量數(shù)據(jù)庫(kù)并建立索引:向量數(shù)據(jù)庫(kù)如FAISS、Pinecone、Weaviate;
07.部署集成:將向量數(shù)據(jù)庫(kù)集成到AI產(chǎn)品流程中,生成模型搭配使用。
步驟二:模型調(diào)用知識(shí)庫(kù)完成用戶任務(wù)
- 將用戶的Prompt轉(zhuǎn)化成向量,去向量數(shù)據(jù)庫(kù)里比較相似度;
- 選取相似度較高的1條或者多條知識(shí)片段(3條,5條,10條這樣的召回),并提取知識(shí)片段原文;
- 將檢索出的知識(shí)片段與原Prompt 合并在一起組成新的Prompt
- 模型生成最終回復(fù)
四、如何提升回答的準(zhǔn)確率?
以智能客服舉例,比如客服系統(tǒng)無(wú)法充分理解用戶的真實(shí)意圖,回答偏離主題時(shí)
對(duì)用戶 Prompt 進(jìn)行改寫(xiě),相同語(yǔ)義的不同問(wèn)法
可以將用戶的問(wèn)題,通過(guò)大模型改寫(xiě)成多個(gè)相似語(yǔ)義的問(wèn)題(具體可能是2個(gè)、3個(gè)、4個(gè)、5 個(gè)等,根據(jù)準(zhǔn)確率評(píng)估來(lái)定)
比如用戶問(wèn):如何交易美股?
我們將用戶問(wèn)題改寫(xiě)成4個(gè)相同語(yǔ)義的問(wèn)題
- Q1 我怎么交易美股? 對(duì)應(yīng)50個(gè)相似片段–通過(guò)排序–挑選Top3
- Q2 我怎么買(mǎi)國(guó)外的股票?對(duì)應(yīng)50個(gè)相似片段–通過(guò)排序–挑選Top3
- Q3 我怎么買(mǎi)美股? 對(duì)應(yīng)50個(gè)相似片段–通過(guò)排序–挑選Top3
- Q4 可以買(mǎi)美股嗎? 對(duì)應(yīng)50個(gè)相似片段–通過(guò)排序–挑選Top3
將得出的top12 再次進(jìn)行重排序,得到Top3,Top3+用戶提問(wèn)+系統(tǒng)提示詞,一起給到大模型,大模型給出回答。準(zhǔn)確率也是會(huì)有一定的提升;
檢索到信息,想要的答案排序靠后
加入排序模型(Rerank模型)
在基礎(chǔ)RAG中,準(zhǔn)確率大概在66%左右,在加入Rerank之后,準(zhǔn)確率提升了12%(重新排序可以增加一定的準(zhǔn)確度)
在向量知識(shí)庫(kù)中檢索到相應(yīng)的片段之后,加入排序模型,對(duì)這些相關(guān)片段進(jìn)行排序。
比如:檢測(cè)出60個(gè)相關(guān)片段,經(jīng)過(guò)Rerank排序之后,挑選出前三個(gè)相似度最高的片段+用戶提問(wèn)+系統(tǒng)提示詞,一起給到大模型,大模型給出回答。
回答不全面
Chunk 切分處優(yōu)化
- 知識(shí)片段有明確主題、交疊切分、多顆粒度混合切分;
- 知識(shí)片段的上下相鄰片段可以一并取出,提高信息完整度
檢索不全面
向量+關(guān)鍵詞混合檢索
方法:關(guān)鍵詞匹配和向量匹配相結(jié)合的形式
- 關(guān)鍵詞檢索,召回簡(jiǎn)單直接,能快速找到包含特定關(guān)鍵詞的文檔,速度快;
- 向量匹配,能更好處理語(yǔ)義層面的匹配,提高召回的全面性。
這兩者的結(jié)合,可以充分利用各自的優(yōu)勢(shì) 提高召回率。
這幾個(gè)小技巧是提升準(zhǔn)確率的比較好用的小方法,分享給大家,大家也可結(jié)合自己的項(xiàng)目繼續(xù)探索,多多交流~
五、市面上向量數(shù)據(jù)庫(kù)對(duì)比
本文由 @梧桐AI 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒(méi)評(píng)論,等你發(fā)揮!