共用方式為


改善 RAG 應用程式品質

本文概述如何精簡每個元件,以提高擷取增強產生 (RAG) 應用程式的品質。

離線數據管線和線上RAG鏈結中的每個時間點都有無數的「旋鈕」可微調。 雖然有無數其他專案,但本文著重於對RAG應用程式質量產生最大影響的最重要旋鈕。 Databricks 建議從這些旋鈕開始。

兩種類型的質量考慮

從概念的角度來看,透過兩個主要質量問題的鏡頭來檢視RAG品質旋鈕很有説明:

  • 擷取品質: 您是否擷取指定擷取查詢的最相關信息?

    如果提供給 LLM 的內容遺漏重要資訊或包含多餘的資訊,則很難產生高品質的 RAG 輸出。

  • 產生品質: 鑒於擷取的資訊和原始用戶查詢,LLM 是否能夠產生最精確、一致且有用的回應?

    此處的問題可以顯示為幻覺、不一致的輸出或無法直接解決用戶查詢。

RAG 應用程式有兩個元件,可針對品質挑戰進行查看:數據管線和鏈結。 假設擷取問題(只是更新數據管線)和產生問題(更新RAG鏈結)之間有一個乾淨的劃分,這很誘人。 然而,現實更微妙。 擷取品質可以受到數據管線的影響(例如,剖析/區塊化策略、元數據策略、內嵌模型)和RAG鏈結(例如,使用者查詢轉換、擷取的區塊數目、重新排名)。 同樣地,產生品質一定會受到擷取不佳的影響(例如,影響模型輸出的不相關或遺漏資訊)。

這種重疊突顯出RAG品質改善的整體方法的必要性。 藉由瞭解要跨數據管線和RAG鏈結變更哪些元件,以及這些變更如何影響整體解決方案,您可以進行目標更新以改善RAG輸出品質。

數據管線質量考慮

影響質量的數據管線元件圖表。

數據管線的重要考慮:

  • 輸入數據主體的組成。
  • 如何擷取原始數據並轉換成可用格式(例如剖析 PDF 檔)。
  • 檔如何分割成較小的區塊,以及如何格式化這些區塊(例如區塊化策略和區塊大小)。
  • 擷取每個檔和/或區塊的相關元數據(例如區段標題或文件標題)。 每個區塊中如何包含此元數據(或未包含)。
  • 用來將文字轉換成向量表示法的內嵌模型,以進行相似度搜尋。

RAG 鏈結

影響品質之 RAG 鏈結元件的圖表。

  • LLM 及其參數的選擇(例如溫度和最大令牌)。
  • 擷取參數(例如,擷取的區塊或檔數目)。
  • 擷取方法(例如關鍵詞與混合式與語意搜尋、重寫用戶的查詢、將使用者的查詢轉換成篩選或重新排名)。
  • 如何使用擷取的內容來格式化提示,以引導 LLM 走向質量輸出。