資料內(nèi)容:
前言
受到 Barnett 等人的論文《Seven Failure Points When Engineering a Retrieval Augmented
Generation System》的啟發(fā),本文將探討論文中提到的七個痛點,以及在開發(fā)檢索增強型生成
(RAG)流程中常見的五個額外痛點。更為關(guān)鍵的是,我們將深入討論這些 RAG 痛點的解決策
略,使我們在日常 RAG 開發(fā)中能更好地應對這些挑戰(zhàn)。
問題一:內(nèi)容缺失問題
1.1 介紹一下 內(nèi)容缺失問題?
當實際答案不在知識庫中時,RAG 系統(tǒng)往往給出一個貌似合理卻錯誤的答案,而不是承認無法給
出答案。這導致用戶接收到誤導性信息,造成錯誤的引導。
1.2 如何 解決 內(nèi)容缺失問題?
“輸入什么,輸出什么。”如果源數(shù)據(jù)質(zhì)量差,比如充斥著沖突信息,那么無論你如何構(gòu)建 RAG 流
程,都不可能從雜亂無章的數(shù)據(jù)中得到有價值的結(jié)果。
2. 改進提示方式
在知識庫缺乏信息,系統(tǒng)可能給出錯誤答案的情況下,改進提示方式可以起到顯著幫助。
例如,通過設(shè)置提示“如果你無法確定答案,請表明你不知道”
可以鼓勵模型認識到自己的局限并更透明地表達不確定性。雖然無法保證百分百準確,但在優(yōu)化數(shù)
據(jù)源之后,改進提示方式是我們能做的最好努力之一。
問題二:錯過排名靠前的文檔
2.1 介紹一下 錯過排名靠前的文檔 問題?
有時候系統(tǒng)在檢索資料時,最關(guān)鍵的文件可能并沒有出現(xiàn)在返回結(jié)果的最前面。這就導致了正確答
案被忽略,系統(tǒng)因此無法給出精準的回答。
即:“問題的答案其實在某個文檔里面,只是它沒有獲得足夠高的排名以致于沒能呈現(xiàn)給用戶”
2.2 如何 解決 錯過排名靠前的文檔 問題?
在將檢索到的結(jié)果發(fā)送給大型語言模型(LLM)之前,對結(jié)果進行重新排名可以顯著提升RAG的性
能。LlamaIndex的一個筆記本展示了兩種不同方法的效果對比: