前面我們學習了RAG的基本框架并進行了實踐,我們也知道使用它的目的是為了改善大模型在一些方面的不足:如訓練數(shù)據(jù)不全、無垂直領(lǐng)域數(shù)據(jù)、容易出現(xiàn)幻覺等。那么如何評估RAG的效果呢?本文我們來了解一下。 推薦前置閱讀0. RAG效果評估的必要性
1. RAG評估方法1.1 人工評估最Low的方式是進行人工評估:邀請專家或人工評估員對RAG生成的結(jié)果進行評估。他們可以根據(jù)預先定義的標準對生成的答案進行質(zhì)量評估,如準確性、連貫性、相關(guān)性等。這種評估方法可以提供高質(zhì)量的反饋,但可能會消耗大量的時間和人力資源。 1.2 自動化評估自動化評估肯定是RAG評估的主流和發(fā)展方向。 1.2.1.1 LangSmith在我的這篇文章中 【AI大模型應用開發(fā)】【LangSmith: 生產(chǎn)級AI應用維護平臺】0. 一文全覽Tracing功能,讓程序運行過程一目了然 介紹了如何使用LangSmith平臺進行效果評估。
![]() 1.2.1.2 LangfuseLangfuse作為LangSmith的平替,也具有自動化評估的功能。在我的這篇文章中 【AI大模型應用開發(fā)】【LangFuse: LangSmith平替】0. 快速上手 - 基本功能全面介紹與實踐(附代碼) 介紹了如何使用Langfuse平臺進行效果評估。
![]() 以上兩個平臺對RAG的評估,都可以自定義自己的評估函數(shù)。當然其也支持一些內(nèi)置的評估函數(shù)。 1.2.1.3 TrulensTruLens是一款旨在評估和改進 LLM 應用的軟件工具,它相對獨立,可以集成 LangChain 或 LlamaIndex 等 LLM 開發(fā)框架。它使用反饋功能來客觀地衡量 LLM 應用的質(zhì)量和效果。這包括分析相關(guān)性、適用性和有害性等方面。TruLens 提供程序化反饋,支持 LLM 應用的快速迭代,這比人工反饋更快速、更可擴展。
![]() 使用的步驟: (1)創(chuàng)建LLM應用 (2)將LLM應用與TruLens連接,記錄日志并上傳 (3)添加 feedback functions到日志中,并評估LLM應用的質(zhì)量 (4)在TruLens的看板中可視化查看日志、評估結(jié)果等 (5)迭代和優(yōu)化LLM應用,選擇最優(yōu)的版本 其對于RAG的評估主要有三個指標:
![]()
1.2.4 RAGAS考慮標準的RAG設(shè)置,即給定一個問題q,系統(tǒng)首先檢索一些上下文c(q),然后使用檢索到的上下文生成答案as(q)。在構(gòu)建RAG系統(tǒng)時,通常無法訪問人工標注的數(shù)據(jù)集或參考答案,因此該工作將重點放在完全獨立且無參考的度量指標上。 四個指標,與Trulens的評估指標有些類似:
![]() 2. 常用評估指標在上文評估方法中已經(jīng)介紹了幾種常用的評估指標: 2.1 Trulens 的RAG三元組指標
2.2 RAGAS的四個指標四個指標,與Trulens的評估指標有些類似:
2.3 其它指標
(1)噪聲魯棒性(Noise Robustness) 衡量從噪聲文檔中提取有用的信息能力。在現(xiàn)實世界中,存在大量的噪聲信息,例如假新聞,這給語言模型帶來了挑戰(zhàn)。 (2)否定拒絕(Negative Rejection) 當檢索到的文檔不足以支撐回答用戶的問題時,模型應拒絕回答問題,發(fā)出"信息不足"或其他拒絕信號。 (3)信息整合(information integration) 評估模型能否回答需要整合多個文檔信息的復雜問題,即,當一個問題需要查找多個文檔,綜合信息之后才能回答時,模型的表現(xiàn)。 (4)反事實魯棒性(CounterfactualRobustness) 模型能否識別檢索文檔中已知事實錯誤的能力,即當索引的文檔信息原本就是與事實相背時,大模型能否識別出不對。 ![]() 3. 總結(jié)本文主要總結(jié)了當前比較流行的評估方法和指標。當前AI技術(shù)的快速發(fā)展,RAG和RAG評估是當前比較有前景的發(fā)展方向,不斷有新的評估工具和理論被提出,讓我們持續(xù)跟進,了解這些工具和理論,從而在使用時知道如何選擇。 參考
|
|