RAG實(shí)踐篇(一):知識(shí)資產(chǎn)的“梯度”
近期我們結(jié)束了一個(gè)RAG項(xiàng)目的開發(fā),后續(xù)將不定期掉落RAG系列的復(fù)盤與實(shí)踐。如有興趣的讀者,歡迎收藏文章和關(guān)注。
你是某個(gè)企業(yè)的領(lǐng)域知識(shí)專家。這個(gè)月,你們公司的AI技術(shù)來(lái)通知你,你們公司會(huì)通過RAG技術(shù),把企業(yè)的私有知識(shí)庫(kù)搬進(jìn)大模型。這樣,以后和這個(gè)領(lǐng)域的專有知識(shí)有關(guān)的問題,AI就再也不會(huì)滿嘴跑火車,拿著不知真假的回答忽悠人了。他們希望你協(xié)助整理相關(guān)知識(shí),然后他們就能把相關(guān)知識(shí)“喂給”大模型了。
請(qǐng)問,作為一位領(lǐng)域內(nèi)容專家,你此時(shí)要怎么做?
A. 多就是好!立刻把我們龐大的、百萬(wàn)體量的私有知識(shí)資產(chǎn),源源本本地輸入進(jìn)去。
B. 知識(shí)資產(chǎn)要怎么放,放哪些,才是真的有效?
可能此時(shí)你的表情be like:
別急,我們先來(lái)了解一下,什么是RAG?為什么當(dāng)企業(yè)要把領(lǐng)域知識(shí)/私有知識(shí)的“AI化”的時(shí)候,要用到RAG?
01 為什么是你?RAG
RAG的全稱是Retrieval-Augmented Generation。中文可以翻譯為“檢索增強(qiáng)生成”。技術(shù)特點(diǎn)就是通過增強(qiáng)檢索功能來(lái)輔助生成模型。這個(gè)技術(shù)可以允許大語(yǔ)言模型在“回答”之前,先從指定的“池子”里檢索相關(guān)信息。這樣,AI在回答問題時(shí),它就不僅僅是依賴于其訓(xùn)練期間所學(xué)習(xí)到的數(shù)據(jù),而是能夠參考更多、特定的上下文信息。
說到這里,你應(yīng)該能明白,RAG對(duì)企業(yè)私有知識(shí)庫(kù)的作用了。從目前的生成式AI的技術(shù)而言,大模型們雖然對(duì)各種主題都有著驚人的了解,但這些了解僅限于它們訓(xùn)練時(shí)使用的數(shù)據(jù),我們姑且稱之為“世界知識(shí)”。這意味著當(dāng)我們將它用于企業(yè)私有或?qū)S袠I(yè)務(wù)信息的時(shí)候,大模型的驚人理解力就無(wú)用武之地了。因?yàn)樗緵]有“訓(xùn)練”過相應(yīng)的知識(shí)。
而RAG(檢索增強(qiáng)生成)技術(shù)等于給大模型開了一個(gè)知識(shí)“外掛”。通過這個(gè)“外掛”,一些并沒有包含在原始的模型訓(xùn)練數(shù)據(jù)中的企業(yè)私有知識(shí)、專有業(yè)務(wù)信息,也能夠被檢索到,然后生成正確的輸出。
簡(jiǎn)單來(lái)說,RAG的工作流程可以分為以下幾個(gè)步驟:
- 檢索:當(dāng)用戶提出一個(gè)問題時(shí),RAG首先會(huì)在一個(gè)或多個(gè)文檔數(shù)據(jù)庫(kù)中查找相關(guān)的文檔片段。
- 上下文融合:找到相關(guān)的文檔后,RAG會(huì)將這些信息與問題本身結(jié)合起來(lái),形成一個(gè)完整的上下文。
- 生成響應(yīng):最后,基于這個(gè)上下文,RAG生成一個(gè)自然語(yǔ)言響應(yīng),該響應(yīng)應(yīng)該是準(zhǔn)確且符合上下文的。
02 有“外掛”,一勞永逸?
不過,當(dāng)我們用RAG技術(shù)為AI模型輸入知識(shí)庫(kù)時(shí),并不像往圖書館里添加新書一樣清楚簡(jiǎn)單。畢竟是一種“外部檢索”技術(shù),稍有不慎就會(huì)翻車。以下是我們?cè)谧鯮AG時(shí),經(jīng)常會(huì)踩的坑:
1. 晦澀的專業(yè)術(shù)語(yǔ)
誤區(qū):在專業(yè)領(lǐng)域中。許多文獻(xiàn)和資料中充滿了專業(yè)術(shù)語(yǔ),這些術(shù)語(yǔ)對(duì)于非專業(yè)人士(甚至是大模型)來(lái)說都是難以理解的。
風(fēng)險(xiǎn):當(dāng)知識(shí)庫(kù)內(nèi)容包含大量專業(yè)術(shù)語(yǔ)、且文獻(xiàn)錯(cuò)綜復(fù)雜,對(duì)術(shù)語(yǔ)沒有做出很好的解釋和關(guān)聯(lián)時(shí),模型可能就會(huì)“倒在”第一步。因?yàn)樗緹o(wú)法很好地理解這些術(shù)語(yǔ),更遑論最終輸出正確的答案了。
2. 信息提取困難
誤區(qū):有時(shí)候,文獻(xiàn)量太大,RAG系統(tǒng)在處理大量文本數(shù)據(jù)時(shí),它可能無(wú)法有效地從中抽取關(guān)鍵信息。
風(fēng)險(xiǎn):如果模型無(wú)法從復(fù)雜的文獻(xiàn)中提取出核心要點(diǎn),那么生成的答案可能會(huì)缺乏重點(diǎn),或者包含大量無(wú)關(guān)緊要的細(xì)節(jié),例如,在法律文獻(xiàn)中,關(guān)鍵條款往往隱藏在大量法律條文中,模型在檢索時(shí)可能會(huì)“忽略”,或者一股腦地提取。導(dǎo)致回答要么缺漏重點(diǎn),要么又多又雜、找不到重點(diǎn)。
3. 自相矛盾/不一致的信息
誤區(qū):有時(shí)候文獻(xiàn)過多,輸入到RAG系統(tǒng)中的數(shù)據(jù)可能包含不準(zhǔn)確或錯(cuò)誤的信息。比如,一個(gè)醫(yī)療的RAG系統(tǒng),它的目的為醫(yī)生和患者在進(jìn)行詢問時(shí),提供準(zhǔn)確的藥品信息。但是,這個(gè)系統(tǒng)在知識(shí)庫(kù)的建立時(shí),收集了多種來(lái)源的藥品說明書、臨床試驗(yàn)報(bào)告以及最新的醫(yī)學(xué)研究論文。就極有可能出現(xiàn)以下情況:
- 說明書A(來(lái)自制造商X,2020年發(fā)布):“阿莫西林適用于治療多種細(xì)菌感染,如肺炎、咽炎和皮膚感染。,成人每日劑量為500毫克,每日三次。”
- 最新研究論文C(2023年發(fā)表):“最新的臨床研究表明,阿莫西林對(duì)某些類型的細(xì)菌感染不再有效,因?yàn)樗赡軐?dǎo)致耐藥性?!?/li>
風(fēng)險(xiǎn):生成答案時(shí),可能會(huì)出現(xiàn)自相矛盾的回答,或者是每次的回答都不一致,容易誤導(dǎo)用戶。
4. 過時(shí)內(nèi)容
誤區(qū):過時(shí)內(nèi)容是指知識(shí)庫(kù)中的某些信息可能已經(jīng)不再適用當(dāng)前的情況。
風(fēng)險(xiǎn):如果RAG系統(tǒng)提供了過時(shí)的信息,那么這些信息可能會(huì)導(dǎo)致用戶做出基于過時(shí)數(shù)據(jù)的決策。例如,在技術(shù)快速發(fā)展的領(lǐng)域,如信息技術(shù)或生物醫(yī)藥,幾年前的研究成果可能已經(jīng)不再適用。
5. 無(wú)關(guān)且多余的信息
誤區(qū):無(wú)關(guān)且多余的信息是指知識(shí)庫(kù)中包含了一些與當(dāng)前問題無(wú)關(guān)或多余的內(nèi)容。
風(fēng)險(xiǎn):這些信息可能會(huì)干擾模型的判斷,導(dǎo)致生成的答案中包含不必要的細(xì)節(jié),從而使答案顯得冗長(zhǎng)而不切題。例如,在用戶詢問某一產(chǎn)品的具體規(guī)格時(shí),系統(tǒng)卻給出了大量與產(chǎn)品無(wú)關(guān)的市場(chǎng)營(yíng)銷材料。
6. 與“世界(知識(shí))為敵”
誤區(qū):這種經(jīng)常出現(xiàn)在一些“軟”知識(shí)上,比如公司管理、領(lǐng)導(dǎo)力咨詢等等。在這種知識(shí)領(lǐng)域,并沒有唯一的、正確的答案,而是不同的“學(xué)派”會(huì)有不同的切入點(diǎn)和理論體系。這樣,同一個(gè)概念,在私有知識(shí)庫(kù)和世界知識(shí)的說法不同,就可能產(chǎn)出沖突。
風(fēng)險(xiǎn):模型回答的輸出不穩(wěn)定。面對(duì)“外掛”給到的知識(shí)點(diǎn)和自己訓(xùn)練時(shí)就有的數(shù)據(jù),大模型容易陷入“本能遷移”,更傾向于用自己訓(xùn)練時(shí)的數(shù)據(jù)做回答。
03 知識(shí)資產(chǎn)的“金字塔”梯度
看完了以上的誤區(qū),你可能已經(jīng)隱隱有感覺:“喂給”RAG的知識(shí)庫(kù),并不是越多越好。
盡管從知識(shí)庫(kù)到正確的回答的輸出,需要算法工程師進(jìn)行技術(shù)的微調(diào),但是從領(lǐng)域?qū)<业慕嵌?,梳理和建設(shè)知識(shí)庫(kù)時(shí),就需要牢記以下原則:
并不是所有的知識(shí)都是平等的。你需要評(píng)估哪些知識(shí)“有價(jià)值”,而價(jià)值的私有知識(shí),才可以稱之為“知識(shí)資產(chǎn)”,并放入知識(shí)庫(kù)之中。
那什么是有價(jià)值的知識(shí)資產(chǎn)?盡管各領(lǐng)域的知識(shí)內(nèi)容不盡相同,但在實(shí)踐中,我們可以遵循金字塔梯度的思路:
- 頂層,核心資產(chǎn):這應(yīng)該是公司私有化/專業(yè)領(lǐng)域中最為核心、最關(guān)鍵的知識(shí)內(nèi)容。也是這個(gè)私有知識(shí)庫(kù)最想給用戶傳遞、最有競(jìng)爭(zhēng)力的知識(shí)體系。例如,一家咨詢公司賴以成名的核心方法論,就是這家公司最核心的知識(shí)資產(chǎn)。在RAG的實(shí)踐中,一旦涉及到這類范圍的知識(shí)理解和輸出,必須要求準(zhǔn)確、全面、深入,能夠體現(xiàn)權(quán)威性。
- 次層,獨(dú)家資產(chǎn):重要等級(jí)比關(guān)鍵知識(shí)略低,但同樣是私有知識(shí)庫(kù)中的獨(dú)特的資產(chǎn)。這些知識(shí)也許會(huì)和世界知識(shí)有重合,但在私有知識(shí)庫(kù)中,必須按照私有知識(shí)庫(kù)中的要求回答。這類知識(shí)的一種常見場(chǎng)景就是公司的規(guī)章制度/文化內(nèi)容/績(jī)效規(guī)則等,世界知識(shí)庫(kù)也許有大量類似的內(nèi)容,但是在公司中必須要按照公司的要求進(jìn)行。因此,對(duì)這類知識(shí)的解讀也同樣要求準(zhǔn)確,且必須以私有知識(shí)庫(kù)為準(zhǔn),不得混淆世界知識(shí)。
- 第三層,普通資產(chǎn):在實(shí)踐中,經(jīng)常會(huì)出現(xiàn)一種情況:“私有”即“世界”。說白了,不管是多私有的知識(shí),它的源頭必然能追溯到人類公有的知識(shí)體系中。所以,私有知識(shí)庫(kù)免不了有一些“其實(shí)和世界知識(shí)差不多,但表述、范圍上略有差異”的內(nèi)容。這類其實(shí)是最容易和世界知識(shí)發(fā)生混淆,造成輸出不準(zhǔn)確/冗余的“元兇”。因此,這類知識(shí),我們建議不必“敝帚自珍”,在建立知識(shí)庫(kù)時(shí)大刀闊斧地去除即可。
- 第四層,不良資產(chǎn):包括自相矛盾、過時(shí)、無(wú)用的信息,這些不良資產(chǎn),一定要盡早剝離。在進(jìn)行知識(shí)庫(kù)的建設(shè)時(shí),就不能存在。
本文由 @AI 實(shí)踐干貨 原創(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ù)
期待更多分享,另外咨詢下,企業(yè)知識(shí)庫(kù)的更新頻率如何,是對(duì)全員開放的嗎?其中會(huì)不會(huì)存在一些權(quán)限問題