步驟 5 (擷取)。 如何偵錯擷取品質

此頁面說明如何識別擷取問題的根本原因。 當根本原因分析指出根本原因 Improve Retrieval 時,請使用此頁面。

擷取品質可以說是 RAG 應用程式最重要的元件。 如果未針對指定的查詢傳回最相關的區塊,則 LLM 無法存取必要的資訊來產生高品質的回覆。 擷取不佳可能會導致不相關、不完整或產生幻覺的輸出。 此步驟需要手動分析基礎資料。 Mosaic AI 代理程式架構在資料平台 (包括 Unity 目錄和向量搜尋) 之間緊密整合,以及使用 MLflow 進行實驗追蹤 (包括 LLM 評估與 MLflow 追蹤) 可讓您更輕鬆地進行疑難排解。

指示

請遵循下列步驟來解決擷取品質問題:

  1. 開啟 B_quality_iteration/01_root_cause_quality_issues 筆記本
  2. 使用查詢來載入具有擷取品質問題的記錄的 MLflow 追蹤。
  3. 針對每個記錄,手動檢查擷取的區塊。 如果有的話,請將其與基準真相擷取文件進行比較。
  4. 在擷取品質較低的查詢中尋找模式或常見問題。 例如:
    • 向量資料庫完全遺漏相關資訊。
    • 擷取查詢傳回的區塊或文件數目不足。
    • 區塊太小,且缺乏足夠的內容。
    • 區塊太大,且包含多個不相關的主題。
    • 嵌入模型無法擷取特定領域字詞的語意相似性。
  5. 根據已識別的問題,假設潛在的根本原因和對應的修正。 如需指導,請參閱擷取品質不佳的常見原因
  6. 請遵循實作和評估變更中的步驟來實作及評估可能的修正。 這可能涉及修改資料管線 (例如,調整區塊大小或嘗試不同的內嵌模型),或修改 RAG 鏈結 (例如,實作混合式搜尋或擷取更多區塊)。
  7. 如果擷取品質仍然不盡如人意,請針對下一個最有希望的修正重複步驟 4 和 5,直到實現所需效能為止。
  8. 重新執行根本原因分析,以判定整體鏈結是否有應解決的任何其他根本原因。

擷取品質不佳的常見原因

下表列出偵錯步驟和常見擷取問題的可能得修正。 修正會依元件分類:

  • 資料管線
  • 鏈結設定
  • 鏈結程式碼

此元件定義了您在實作和評估變更步驟中應遵循的步驟。

擷取問題 偵錯步驟 可能的修正
區塊太小 - 檢查區塊中是否有不完整的截止資訊。 - 資料管線 增加區塊大小或重疊。
- 資料管線 嘗試不同的區塊化策略。
區塊太大 - 檢查擷取的區塊是否包含多個不相關的主題。 - 資料管線 減少區塊大小。
- 資料管線 改善區塊化策略,以避免混合不相關的主題 (例如語意區塊化)。
區塊沒有足夠的關於其來源文字的資訊 - 評估每個區塊缺少內容是否會導致擷取的結果混亂或模稜兩可。 - 資料管線 請嘗試將中繼資料和標題新增至每個區塊 (例如區段標題)。
- 鏈結設定 擷取更多區塊,並使用具有較大內容大小的 LLM。
內嵌模型無法準確地了解使用者查詢中的網域或關鍵片語 - 檢查是否針對相同的查詢擷取語意類似的區塊。 - 資料管線 請嘗試不同的內嵌模型。
- 鏈結設定 嘗試混合式搜尋。
- 鏈結程式碼 過度擷取結果,然後重新排名。 僅將排名最高的結果饋送至 LLM 內容。
- 資料管線 微調領域特定資料上的內嵌模型。
向量資料庫遺漏相關資訊 - 檢查向量資料庫中是否有任何相關的文件或區段遺漏。 - 資料管線 將更多相關的檔新增至向量資料庫。
- 資料管線 改善檔剖析和中繼資料擷取。
擷取查詢制定不佳 - 如果使用者查詢正直接用於語意搜尋,請分析這些查詢,並檢查是否模棱兩可或缺乏明確性。 這可能很容易就在多回合交談中發生,而原始使用者查詢會參考先前的對話部分,使其不適合直接作為擷取查詢使用。
- 檢查查詢字詞是否符合搜尋主體中使用的術語。
- 鏈結程式碼 新增查詢擴充或轉換方法 (例如,指定使用者查詢,在語意搜尋之前轉換查詢)。
- 鏈結程式碼 新增查詢瞭解以識別意圖和實體 (例如,使用 LLM 來擷取要用於中繼資料篩選的屬性)。

後續步驟

如果您也識別了產生品質的問題,請繼續進行步驟 5 (產生)。如何偵錯產生品質

如果您認為您已解決所有已識別的問題,請繼續進行步驟 6. 反覆實作及評估品質修正