共用方式為


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

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

RAG 在非結構化數據上是一個複雜的系統,其包含的多個組件會影響應用程序的質量。 調整任何單一元素可能會對其他元素產生串聯效果。 例如,數據格式變更可能會影響擷取的區塊,以及 LLM 產生相關回應的能力。 因此,除了整個應用程式之外,評估每個應用程式元件非常重要,以便根據這些評量反覆精簡應用程式。

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

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

主題 傳統機器學習 生成式 AI
計量 計量會評估元件的輸入和輸出,例如特徵漂移、精確度、重新叫用、延遲等等。 由於只有一個元件,因此整體計量 == 元件計量。 元件計量會評估每個元件的輸入和輸出,例如精確度 @ K、nDCG、延遲、毒性等等。 複合度量評估多個元件的互動方式:忠實性測量產生器如何遵循來自需要鏈接輸入、鏈接輸出和內部檢索器輸出的知識。 整體計量會評估系統的整體輸入和輸出,例如回答正確性和延遲。
評估 回答是具有確定性的「正確」或「錯誤」。 確定性的測量有效。 回答是「正確」或「錯誤」的,但:• 有許多正確的回答 (不具確定性)。 • 有些正確的答案更為正確。 您需要: • 人類回饋,以獲得信心。 • 利用 LLM 衡量指標進行評估擴展。

評估和監視的元件

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

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

評估 RAG 品質中,這些文件詳盡介紹了評估的內容。