跳到主要內容
AI News HubLIVE
站內改寫2 分鐘閱讀

我們教會一個小型LLM丟棄68%的RAG上下文

文章摘要

Kapa.ai在RAG管道中增加了一個小型語言模型作為修剪器,在檢索器和生成器之間對檢索到的文本塊進行評分,丟棄約68%的上下文,同時保持96%的召回率,從而將每次查詢的成本降低約34%。

來源Hacker News AI作者: emil_sorensen
我們教會一個小型LLM丟棄68%的RAG上下文
回報錯誤

更正管道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

Kapa.ai致力於構建能夠回答複雜問題的AI助手,其知識庫包含技術文件、API參考、PDF、論壇和支援執行緒等大型產品知識庫。為了處理這些龐大的知識庫,他們使用檢索增強生成(RAG)技術,但發現檢索器為追求高召回率而返回的大量文本塊中,大部分對於生成答案並無必要,而這些無關塊卻佔據了查詢成本的大部分。

在RAG管道中,檢索器從數百萬個塊中篩選出候選塊,經重排序後,通常將前15個塊送入生成器(最大的語言模型)。然而,這些塊中大部分是噪聲,生成器依然要為每個無關塊付費。Kapa.ai的統計顯示,檢索到的塊佔查詢成本的三分之二左右,而每減少一個塊,成本就能降低約4%。因此,他們希望在不影響答案質量的前提下,儘可能多地丟棄無關塊。

起初,他們嘗試在重排序後使用固定閾值截斷,但重排序得分並非跨查詢校準,且順序性得分無法衡量單個塊的絕對相關性。更重要的是,相關性並非單個塊的屬性,而是塊集的屬性。例如,某個塊單獨看可能無關,但與另一塊結合後卻能構成完整答案。點式評估無法判斷這種集合層面的相關性。

為此,Kapa.ai在檢索器和生成器之間引入了一個修剪步驟。他們使用一個小型、廉價的語言模型,同時檢視問題和所有檢索到的塊,並對每個塊進行五級評分:5分(必需)、4分(貢獻)、3分(支援)、2分(相關但無關緊要)、1分(無關)。只有得分高於閾值的塊才會被保留。這種方法既解決了跨查詢校準問題(因為級別定義固定),又能夠評估塊集的相關性。

實驗結果表明,修剪策略顯著優於簡單的截斷方法。在保持96%召回率的情況下,約68%的塊被丟棄,每次查詢的成本淨降低34%(已扣除修剪器自身的成本)。修剪器執行時間約為0.7秒,增加了少量延遲,但生成器由於輸入減少,響應速度略有提升,不過不足以完全抵消這一延遲。

Kapa.ai已將此功能預設應用於產品Agent SDK的知識庫搜尋中,並在檢索API和MCP伺服器中作為可選功能提供。在智慧體場景中,由於智慧體本身已有多輪模型呼叫,增加一次輕量級修剪幾乎不會產生額外影響。

展開要點與分析

文章情報

工程師進階

要點

  • 在RAG流程中新增了一個修剪步驟,使用小型LLM對檢索到的塊進行分級並丟棄不必要的部分。
  • 採用5級評分體系,全面評估所有塊與問題的相關性,解決了點式排序無法識別塊集相關性的問題。
  • 丟棄約68%的上下文,保留96%的召回率,淨成本降低約34%。
  • 修剪器執行耗時約0.7秒,在智慧體中邊際影響小,已預設啟用於產品Agent SDK。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。