一、檢索增強(qiáng)生成(RAG)

什么是RAG?

RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成),RAG是一種 AI 框架,它將傳統(tǒng)信息檢索系統(tǒng)(例如數(shù)據(jù)庫(kù))的優(yōu)勢(shì)與生成式大語(yǔ)言模型 (LLM) 的功能結(jié)合在一起。
LLM通過(guò)將這些額外的知識(shí)與自己的語(yǔ)言技能相結(jié)合,可以撰寫(xiě)更準(zhǔn)確、更具時(shí)效性且更貼合具體需求的文字。



如何理解RAG?

通過(guò)上一個(gè)問(wèn)題,我們知道了什么是RAG?了解到RAG是一種結(jié)合了信息檢索、文本增強(qiáng)和文本生成的自然語(yǔ)言處理(NLP)的技術(shù)。
RAG的目的是通過(guò)從外部知識(shí)庫(kù)檢索相關(guān)信息來(lái)輔助大語(yǔ)言模型生成更準(zhǔn)確、更豐富的文本內(nèi)容。那我們?nèi)绾卫斫釸AG的檢索、增強(qiáng)和生成呢?

檢索:檢索是RAG流程的第一步,從預(yù)先建立的知識(shí)庫(kù)中檢索與問(wèn)題相關(guān)的信息。這一步的目的是為后續(xù)的生成過(guò)程提供有用的上下文信息和知識(shí)支撐。

增強(qiáng):RAG中增強(qiáng)是將檢索到的信息用作生成模型(即大語(yǔ)言模型)的上下文輸入,以增強(qiáng)模型對(duì)特定問(wèn)題的理解和回答能力。這一步的目的是將外部知識(shí)融入生成過(guò)程中,使生成的文本內(nèi)容更加豐富、準(zhǔn)確和符合用戶(hù)需求。通過(guò)增強(qiáng)步驟,LLM模型能夠充分利用外部知識(shí)庫(kù)中的信息。

生成:生成是RAG流程的最后一步。這一步的目的是結(jié)合LLM生成符合用戶(hù)需求的回答。生成器會(huì)利用檢索到的信息作為上下文輸入,并結(jié)合大語(yǔ)言模型來(lái)生成文本內(nèi)容。

RAG的“檢索、增強(qiáng)、生成”,誰(shuí)增強(qiáng)了誰(shuí),誰(shuí)生成了答案,主語(yǔ)很重要。是從知識(shí)庫(kù)中檢索到的問(wèn)答對(duì),增強(qiáng)了LLM的提示詞(prompt),LLM拿著增強(qiáng)后的Prompt生成了問(wèn)題答案。


如何使用RAG?

了解了什么是RGA,同步也理解了RAG的檢索、增強(qiáng)和生成。那我們?nèi)绾问褂肦AG呢?接下來(lái)以RAG搭建知識(shí)問(wèn)答系統(tǒng)具體步驟為例,來(lái)講解如何使用RAG?
1. 數(shù)據(jù)準(zhǔn)備與知識(shí)庫(kù)構(gòu)建:

收集數(shù)據(jù):首先,需要收集與問(wèn)答系統(tǒng)相關(guān)的各種數(shù)據(jù),這些數(shù)據(jù)可以來(lái)自文檔、網(wǎng)頁(yè)、數(shù)據(jù)庫(kù)等多種來(lái)源。

數(shù)據(jù)清洗:對(duì)收集到的數(shù)據(jù)進(jìn)行清洗,去除噪聲、重復(fù)項(xiàng)和無(wú)關(guān)信息,確保數(shù)據(jù)的質(zhì)量和準(zhǔn)確性。

知識(shí)庫(kù)構(gòu)建:將清洗后的數(shù)據(jù)構(gòu)建成知識(shí)庫(kù)。這通常包括將文本分割成較小的片段(chunks),使用文本嵌入模型(如GLM)將這些片段轉(zhuǎn)換成向量,并將這些向量存儲(chǔ)在向量數(shù)據(jù)庫(kù)(如FAISS、Milvus等)中。

2. 檢索模塊設(shè)計(jì):

問(wèn)題向量化:當(dāng)用戶(hù)輸入查詢(xún)問(wèn)題時(shí),使用相同的文本嵌入模型將問(wèn)題轉(zhuǎn)換成向量。

相似度檢索:在向量數(shù)據(jù)庫(kù)中檢索與問(wèn)題向量最相似的知識(shí)庫(kù)片段(chunks)。這通常通過(guò)計(jì)算向量之間的相似度(如余弦相似度)來(lái)實(shí)現(xiàn)。

結(jié)果排序:根據(jù)相似度得分對(duì)檢索到的結(jié)果進(jìn)行排序,選擇最相關(guān)的片段作為后續(xù)生成的輸入。

3. 生成模塊設(shè)計(jì):

上下文融合:將檢索到的相關(guān)片段與原始問(wèn)題合并,形成更豐富的上下文信息。

大語(yǔ)言模型生成:使用大語(yǔ)言模型(如GLM)基于上述上下文信息生成回答。大語(yǔ)言模型會(huì)學(xué)習(xí)如何根據(jù)檢索到的信息來(lái)生成準(zhǔn)確、有用的回答。

大家可以結(jié)合自己的業(yè)務(wù)領(lǐng)域知識(shí),開(kāi)始搭建醫(yī)療、法律、產(chǎn)品知識(shí)問(wèn)答。先搭建Demo,然后工作中不斷完善知識(shí)庫(kù)問(wèn)答對(duì)。


二、RAG的原理、流程及架構(gòu)

RAG工作原理是什么?大型語(yǔ)言模型(LLM)面臨兩個(gè)問(wèn)題,第一個(gè)問(wèn)題是LLM會(huì)產(chǎn)生幻覺(jué),第二個(gè)是LLM的知識(shí)中斷。
1. 知識(shí)截止:當(dāng) LLM 返回的信息與模型的訓(xùn)練數(shù)據(jù)相比過(guò)時(shí)時(shí)。每個(gè)基礎(chǔ)模型都有知識(shí)截止,這意味著其知識(shí)僅限于訓(xùn)練時(shí)可用的數(shù)據(jù)。

2. 幻覺(jué):當(dāng)模型自信地做出錯(cuò)誤反應(yīng)時(shí),就會(huì)發(fā)生幻覺(jué)。

檢索增強(qiáng)生成 (RAG) 擺脫了知識(shí)限制,整合了外部數(shù)據(jù),從外部知識(shí)庫(kù)中檢索相關(guān)信息,增強(qiáng)模型的生成能力。

RAG工作流程是什么?

通過(guò)檢索增強(qiáng)技術(shù),將用戶(hù)查詢(xún)與索引知識(shí)融合,利用大語(yǔ)言模型生成準(zhǔn)確回答。

1. 知識(shí)準(zhǔn)備:收集并轉(zhuǎn)換知識(shí)文檔為文本數(shù)據(jù),進(jìn)行預(yù)處理和索引。
2.嵌入與索引:使用嵌入模型將文本轉(zhuǎn)換為向量,并存儲(chǔ)在向量數(shù)據(jù)庫(kù)中。
3.查詢(xún)檢索:用戶(hù)查詢(xún)轉(zhuǎn)換為向量,從數(shù)據(jù)庫(kù)中檢索相關(guān)知識(shí)。
4.提示增強(qiáng):結(jié)合檢索結(jié)果構(gòu)建增強(qiáng)提示模版。
5.生成回答:大語(yǔ)言模型根據(jù)增強(qiáng)模版生成準(zhǔn)確回答。


RAG技術(shù)架構(gòu)是什么?

RAG技術(shù)架構(gòu)主要由兩個(gè)核心模塊組成,檢索模塊(Retriever)和生成模塊(Generator)。

1.檢索模塊(Retriever):

文本嵌入:使用預(yù)訓(xùn)練的文本嵌入模型(如GLM)將查詢(xún)和文檔轉(zhuǎn)換成向量表示,以便在向量空間中進(jìn)行相似度計(jì)算。

向量搜索:利用高效的向量搜索技術(shù)(如FAISS、Milvus等向量數(shù)據(jù)庫(kù))在向量空間中檢索與查詢(xún)向量最相似的文檔或段落。

雙塔模型:檢索模塊常采用雙塔模型(Dual-Encoder)進(jìn)行高效的向量化檢索。雙塔模型由兩個(gè)獨(dú)立的編碼器組成,一個(gè)用于編碼查詢(xún),另一個(gè)用于編碼文檔。這兩個(gè)編碼器將查詢(xún)和文檔映射到相同的向量空間中,以便進(jìn)行相似度計(jì)算。

2.生成模塊(Generator):

強(qiáng)大的生成模型:生成模塊通常使用在大規(guī)模數(shù)據(jù)上預(yù)訓(xùn)練的生成模型(如GLM),這些模型在生成自然語(yǔ)言文本方面表現(xiàn)出色。

上下文融合:生成模塊將檢索到的相關(guān)文檔與原始查詢(xún)合并,形成更豐富的上下文信息,作為生成模型的輸入。

生成過(guò)程:生成模型根據(jù)輸入的上下文信息,生成連貫、準(zhǔn)確且信息豐富的回答或文本。

結(jié)合高效的檢索模塊(Retriever)與強(qiáng)大的生成模型(Generator),實(shí)現(xiàn)基于外部知識(shí)增強(qiáng)的自然語(yǔ)言生成能力。

文章轉(zhuǎn)自微信公眾號(hào)@架構(gòu)師帶你玩轉(zhuǎn)AI

上一篇:

一文徹底搞懂多模態(tài) - 多模態(tài)學(xué)習(xí)

下一篇:

一文徹底搞懂大模型 - Fine-tuning三種微調(diào)方式
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)