使用 NVIDIA AI 端點和 Ragas 評估醫療 RAG

在快速發展的醫學領域,尖端技術的整合對於加強病患照護和推進研究至關重要。其中一項創新是檢索增強生成(RAG),它正在改變醫療資訊的處理和使用方式。

RAG 將大型語言模型 (LLM)的功能與外部知識檢索相結合,解決了過時資訊和生成不準確資料(稱為幻覺)等關鍵限制。透過從結構化資料庫、科學文獻和患者記錄中檢索最新的相關信息,RAG 為醫療應用提供了更準確和上下文感知的基礎。這種混合方法提高了產生輸出的準確性和可靠性,並增強了可解釋性,使其成為藥物發現和臨床試驗篩選等領域的寶貴工具。

 

醫療 RAG 的挑戰

一項主要挑戰是可擴展性。隨著醫療資料量以超過 35% 的複合年增長率成長,RAG 系統必須在不影響速度或準確性的情況下有效處理和檢索相關資訊。這在即時應用中至關重要,及時存取資訊可以直接影響患者護理。

醫療應用所需的特定語言和知識可能與其 馬來西亞手機號碼數據 他領域(例如法律或金融領域)有很大不同,這限制了系統的多功能性並需要針對特定領域進行調整。

另一個關鍵挑戰是缺乏醫療 RAG 基準   以及該領域的一般評估指標不足。缺乏基準需要根據醫療文本和健康記錄產生綜合測試和地面實況數據。

BLEU 或 ROUGE 等傳統指標著重於文字相似性,無法充分捕捉 RAG 系統的細微差別表現。這些指標通常無法反映生成內容的事實準確性和上下文相關性,而這在醫療應用中至關重要。

最後,評估 RAG 系統還涉及獨立和整體評估檢索和生成組件。必須評估檢索組件從龐大的動態知識庫中獲取相關的最新資訊的能力。這包括測量精確度、召回率和相關性,同時也考慮資訊的時間方面。

由大型語言模型提供支援的生成元件必須評估其生成內容的真實性和準確性,確保其與檢索到的資料和原始查詢保持一致。

總體而言,這些挑戰凸顯了對全面評估框架的需求,該框架可以滿足醫療 RAG 系統的獨特需求,確保它們提供準確、可靠且適合上下文的資訊。

拉格斯是什麼?

Ragas(檢索增強生成評估)是一種流行的開源自動化評估框架,旨在評估 RAG 管道。

Ragas 框架提供了評估這些管道性能的工具和指標,重點關注上下文相關性、上下文回憶、忠實度和答案相關性等方面。它採用法學碩士作為法官進行無參考評估,最大限度地減少對人工註釋數據的需求並提供類似人類的反饋。這使得評估過程更有效率且更具成本效益。

电话号码数据

評估 RAG 的策略

RAG 穩健評估的典型策略遵循以下流程:

  1. 根據向量儲存中的文件產生一組綜合產生的三元組(問題-答案-上下文)。
  2. 透過 RAG 運行每個範例問題並將回應和上下文與真實情況進行比較,來運行評估精確度/召回率指標。
  3. 過濾掉低品質的合成樣品。
  4. 在實際 RAG 上執行範例查詢,並使用 最後的資料庫 綜合情境和回應作為基本事實的指標進行評估。

圖 1. RAG 和搜尋系統的評估元件流程

為了充分利用本教學課程,您需要了解 LLM 推理管道的基本知識。

設定

首先,請使用NVIDIA API Catalog建立免費帳戶並按照以下步驟操作:

  1. 選擇任 資料庫數據  意型號。
  2. 選擇Python,取得API金鑰
  3. 將產生的密鑰另存為NVIDIA_API_KEY.

從那裡,您應該可以訪問端點。

現在,安裝 LangChain、NVIDIA AI 端點和 Ragas:

下載醫療資料集

接下來,下載Kaggle MACCROBAT 資料集。您可以直接從 Kaggle 下載資料集(需版本。

在這篇文章中,您使用醫療報告的全文並忽略 NER 註釋:

產生綜合數據

RAG 評估的關鍵挑戰之一是合成資料的產生。這是穩健評估所必需的,因為您想要針對與向量資料庫中的資料相關的問題測試 RAG 系統。

這種方法的一個主要好處是它可以進行廣泛的測試,同時不需要昂貴的人工註釋資料。一組 LLM ( generator、critic、embedding) 用於根據相關數據產生代表性合成數據。 Ragas 預設使用 OpenAI,因此您可以覆寫它以使用 NVIDIA AI 端點。

圖2 醫療RAG評估系統流程

根據MA​​CCROBAT 資料集中的醫療報告將程式碼部署到向量儲存上。這會根據向量儲存中的實際文件產生範例問題清單:

此外,每個問題都與檢索到的上下文和生成的真實答案相關聯,您稍後可以使用它們來獨立評估和評分醫學 RAG 的檢索和生成組件。

評估輸入數據

現在您可以使用合成資料作為輸入資料進行評估。使用產生的問題 ( question) 和回應 ( ground_truth) 以及從醫療 RAG 系統中實際檢索的上下文 ( contexts) 及其各自的回應 ( )填充輸入資料answer。

在此程式碼範例中,您評估特定於世代的指標 ( answer_relevancy, faithfulness):

應用於語義搜尋

您可以進一步修改系統以根據關鍵字(而不是問題/答案對)評估語義搜尋。在這種情況下,您從 Ragas 中提取關鍵字詞並忽略產生的問題/答案資料測試集。這在尚未部署完整 RAG 管道的醫療系統中通常很有用。

現在,這會產生查詢(而不是問題),您可以將其輸入到任何醫學語義搜尋系統中進行評估:

 

返回頂端