共用方式為


評估與監視 RAG 應用程式的簡介

評估與監視是關鍵元件,可了解 RAG 應用程式是否正在執行您的使用案例所指定的 *品質、成本和延遲需求。 就技術上說,評估發生在開發期間,監視發生在應用程式部署至生產環境之後,但兩者基本元件很類似。

非結構化資料上的 RAG 是複雜的系統,其中包含許多影響應用程式品質的元件。 調整任何單一元素可能會對其他元素產生串聯效果。 例如,資料格式化變更可能會影響檢索的區塊,以及 LLM 產生相關回應的能力。 因此,除了應用程式整體之外,評估每個應用程式元件非常重要,以便根據這些評定反覆改善應用程式。

評估與監視:傳統 ML 與生成式 AI

評估及監視包括 RAG 在內的生成式 AI 應用程式,與傳統機器學習有數種不同之處:

主題 傳統 ML 生成式 AI
計量 計量會評估元件的輸入和輸出,例如特徵漂移、精確度、重新叫用、延遲等等。 由於只有一個元件,因此整體計量 == 元件計量。 元件計量會評估每個元件的輸入和輸出,例如精確度 @ K、nDCG、延遲、毒性等等。 復合計量會評估多個元件互動的方式:忠實度會測量產生器對從需要鏈結輸入、鏈結輸出和內部擷取器的輸出之擷取器獲得的知識的遵守情況。 整體計量會評估系統的整體輸入和輸出,例如回答正確性和延遲。
評估 回答是具有確定性的「正確」或「錯誤」。 確定性的計量可用。 回答是「正確」或「錯誤」的,但:• 有許多正確的回答 (不具確定性)。 • 一些正確的回答更精確。 您需要: • 人類意見反應,以獲得對訊息的信心。 • LLM 裁判的計量以調整評估規模。

評估和監視的元件

有效評估及監視 RAG 應用程式品質、成本和延遲需要數類元件:

  • 評估集:若要嚴格評估您的 RAG 應用程式,您需要一組經過策劃的評估查詢 (且理想情況下是輸出),這些查詢代表應用程式的預期用途。 這些評估範例應具有挑戰性、多樣化且不斷更新,以反映不斷變化的使用方式和需求。
  • 計量定義:您無法管理未測量的專案。 若要改善 RAG 品質,請務必定義您的使用案例的質量意義。 視應用程式而定,重要的計量可能包含來自主要利害關係人的回覆正確性、延遲、成本或評分。 您將需要計量來測量每個元件、元件彼此互動的方式,以及整體系統。
  • LLM 裁判:鑒於 LLM 回應的開放式本質,每次評估輸出是否正確時都讀取每個回應是不可行的。 額外使用不同的 LLM 來檢閱輸出有助於調整您的評估,並計算其他計量,例如響應數千個內容權杖的根據性;人類評分員無法有效地大規模評估。
  • 評估利用:在開發期間,評估利用功能可協助您針對評估集中的每個記錄快速執行應用程式,然後透過 LLM 裁判和計量計算執行每個輸出。 由於此步驟「封鎖」您的內部開發迴圈,特別具有挑戰性,因此速度非常重要。 良好的評估利用可盡可能平行處理這項工作,通常會啟動額外的基礎結構,例如更多 LLM 容量來執行此作業。
  • 面向利害關係人的 UI:身為開發人員,您可能不是您所開發應用程式內容的領域專家。 若要收集可評估應用程式品質的人類專家的意見反應,您需要一個介面,讓他們能夠與應用程式互動並提供詳細的意見反應。
  • 生產追蹤記錄:一旦進入生產環境,您必須評估的要求/回應數量顯著增多,還要評估每個回應的產生方式。 例如,您需要知道低品質回答的根本原因是擷取步驟還是幻覺。 您的生產記錄必須追蹤輸入、輸出和中間步驟,例如文件擷取,以啟用持續監視和針對生產環境中發生問題的早期偵測和診斷。

評估 RAG 品質中的這些文件有關於評估的更詳細闡述。