RAG應用評估

hjy1995發表於2024-11-24

為什麼需要對RAG系統評估

評估是AI開發流程中的一個非常關鍵步驟,它被用於檢查當前策略相對於其他策略的有效性,或在當你對流程進行更改時進行評估。因此在進行LLM專案的開發和改進時,必須要有衡量其表現的方法。

LlamaIndex中RAG處理過程(圖片來源:https://docs.llamaindex.ai/en/stable/getting_started/concepts/ ):

圖片

為了評估RAG系統,我們通常使用兩種型別的評估:

  • 檢索評估

  • 響應評估

評估RAG系統更復雜。這種複雜性的原因在於RAG系統生成的響應是非結構化文字,需要結合定性和定量指標來準確評估其效能。

為了有效評估RAG系統,我們通常遵循TRIAD框架。該框架由三個主要組成部分組成:

  • 上下文相關性:這個元件評估RAG系統的檢索部分。它評估從大型資料集中準確檢索到的文件。這裡使用的度量指標包括精確度、召回率、MRR和MAP。
    • 精確度衡量了檢索到的文件的準確性。它是檢索到的相關文件數量與檢索到的文件總數之比。
    • 召回率衡量了檢索到的文件的全面性。它是檢索到的相關文件數量與資料庫中相關文件的總數之比。
    • 平均倒數排名(MRR)是一種評估檢索系統效果的度量指標,它考慮了第一個相關文件的排名位置。
    • 平均準確率(MAP)是一種評估多個查詢的檢索精確度的度量指標。它同時考慮了檢索的精確度和檢索文件的順序。MAP定義為一組查詢的平均準確率得分的平均值。為了計算單個查詢的平均準確率,需要在檢索到的文件的排序列表中的每個位置計算精確度,只考慮前K個檢索到的文件,其中每個精確度都根據文件是否相關進行加權。
  • 忠實度(基於檢索):這個元件屬於響應評估。它檢查生成的響應是否準確無誤,並且基於檢索到的文件。透過人工評估、自動事實檢查工具和一致性檢查等方法來評估忠實度。
    • 人工評估:專家手動評估生成的響應是否事實準確,並且是否正確引用了檢索到的文件。這個過程涉及檢查每個響應與源文件,以確保所有主張都有證據支援。
    • 自動事實檢查工具:這些工具將生成的響應與已驗證事實的資料庫進行比較,以識別不準確之處。它們提供了一種無需人工干預即可檢查資訊有效性的自動方式。
    • 一致性檢查:這些評估模型是否在不同查詢中始終提供相同的事實資訊。這確保模型可靠,不會產生矛盾的資訊。
  • 答案相關性:這也是響應評估的一部分。它衡量生成的響應對使用者的查詢提供了多少有用的資訊。使用的度量指標包括BLEU、ROUGE、METEOR和基於嵌入的評估。

RAG應用評估工具

Ragashttps://docs.ragas.io/en/latest/getstarted/index.html):Ragas 是專注於評估 RAG 應用的工具,透過簡單的介面即可實現評估。Ragas 指標種類豐富多樣,對 RAG 應用的框架無要求。也可以透過 langsmith(https://www.langchain.com/langsmith)/langfuse來監控每次評估的過程,幫助分析每次評估的原因和觀察 API key 的消耗。

Continuous Evalhttps://docs.relari.ai/v0.3):Continuous-eval 是一個用於評估 LLM 應用 pipelines 的開源軟體包,重點放在檢索增強生成(RAG)pipelines 上。它提供了一種更便宜、更快速的評估選項。此外,它還允許建立具有數學保證的可信的整合評估管道。

TruLens-Eval:Trulens-Eval 是專門用於評估 RAG 指標的工具,它對 LangChain 和 Llama-Index 都有比較好的整合,可以方便地用於評估這兩個框架搭建的 RAG 應用。另外,Trulens-Eval 也可以在瀏覽器中啟動頁面進行視覺化地監控,幫助分析每次評估的原因和觀察 API key 的消耗。

Llama-Index:Llama-Index 是很適合用來搭建 RAG 應用,並且它目前的生態比較豐富,目前也在快速迭代發展中。它也包含評估 RAG 的功能和生成合成資料集的功能,使用者可以方便地對由 Llama-Index 本身搭建的 RAG 應用進行評估。

DeepEval 是一個類似於Pytest的輕量級框架,專門針對LLM單元測試。它利用最新的研究方法,如G-Eval、幻覺檢測、答案相關性等,透過本地執行的LLM和NLP模型來評估模型效能。無論是RAG還是微調應用,無論你是LangChain還是LlamaIndex的使用者,DeepEval都能無縫融入你的開發流程。

除此之外,還有一些評估工具,它們在使用功能上,與上述的這些大同小異。比如 Phoenixhttps://docs.arize.com/phoenix)、DeepEvalhttps://github.com/confident-ai/deepeval)、LangSmithOpenAI Evalshttps://github.com/openai/evals)。這些評估工具的迭代發展也非常快,關於具體的功能與使用方式可以查閱相應的官方文件。

相關文章