relari-ai/continuous-eval
Data-Driven Evaluation for LLM-Powered Applications
continuous-eval – 用於 LLM 驅動應用的資料驅動評估
是什麼 – continuous-eval 是一個 Python 庫(可在 PyPI 上取得),可讓您衡量生成式 AI 流程中每個元件的效能。它內建一個為常見 LLM 使用情境(檢索、RAG、程式碼生成、使用工具的代理、分類等)準備的現成指標目錄,並提供一個小型框架,可將這些指標連結至資料集並執行自動化測試。
為何重要 – 建立生產級 LLM 應用通常涉及多個階段(檢索器 → 重排序器 → 生成器、分類器等)。傳統評估工具只關注單一端對端分數,難以發現哪個模組表現不佳。continuous-eval 將流程視為模組圖,讓您可為每個節點附加客製化指標,甚至支援機率性或 LLM-as-a-judge 指標。
核心概念
| 概念 | 描述 |
|---|---|
| 指標庫 | 即用類別,如 PrecisionRecallF1、RankedRetrievalMetrics、AnswerCorrectness。涵蓋決定性、語意性與基於 LLM 的評分。 |
| EvaluationRunner | 協調在資料集上執行所有指標,聚合結果,並可執行使用者定義的 測試(例如:「召回率必須 ≥ 0.8」)。 |
| 流程 / 模組 | 您將系統的每個步驟宣告為 Module(名稱、輸入、輸出類型),並附加應套用至其輸出的指標。Pipeline 只是模組清單加上來源 Dataset。 |
| CustomMetric | 用於建立「LLM-as-a-judge」指標的輔助工具。您提供提示(標準 + 評分表)與預期回應的結構,然後像呼叫其他指標一樣呼叫它。 |
| 遙測 | 可選的匿名使用追蹤,可透過設定 CONTINUOUS_EVAL_DO_NOT_TRACK=true 關閉。 |
典型工作流程(於 README 中圖示)
- 安裝
pip install continuous-eval(或克隆程式碼庫並使用 Poetry)。 - 準備資料 使用
example_data_downloader下載範例,或提供自己的 JSON-lines 檔案,其中每筆記錄包含question、retrieved_context、ground_truth_context、answer等欄位。 - 定義流程 為每個階段建立
Module物件,並透過.use(...)附加適當的指標物件。 - 執行評估 實例化
EvaluationRunner(pipeline)並呼叫evaluate()。執行器會回傳一個PipelineResults物件,可進行聚合與列印。 - 執行測試 提供
Test物件清單(例如GreaterOrEqualThan)以自動標記回歸問題。 - 擴充 若內建指標目錄無法滿足需求,可撰寫
CustomMetric的子類別或實作新的指標類別。
範例片段(單一指標)
from continuous_eval.metrics.retrieval import PrecisionRecallF1
datum = {
"question": "What is the capital of France?",
"retrieved_context": [
"Paris is the capital of France and its largest city.",
"Lyon is a major city in France."
],
"ground_truth_context": ["Paris is the capital of France."],
"answer": "Paris",
"ground_truths": ["Paris"],
}
metric = PrecisionRecallF1()
print(metric(**datum)) # → {'context_precision': ..., 'context_recall': ..., 'context_f1': ...}
何時使用
- 需要分別評估檢索品質、重排序效果與生成正確性的 RAG 系統開發者。
- 希望在發布新模型或提示前進行自動化回歸檢查(測試)的 LLM 產品團隊。
- 評估多個 LLM 基礎模組並需要可重現、模組化基準套件的研究人員。
- 希望無需撰寫完整評估框架即可整合自訂 LLM-as-a-judge 指標(如 PII 檢測、事實性)的企業。
快速上手
# 安裝套件
python3 -m pip install continuous-eval
# 克隆程式碼庫以取得範例與文件
git clone https://github.com/relari-ai/continuous-eval.git && cd continuous-eval
poetry install --all-extras # 可選,拉取所有指標的額外相依性
# 執行內建範例(檢索資料集)
python -m examples.run_retrieval_eval # (參見 README 中連結的 examples 程式碼庫)
如果您計畫使用基於 LLM 的指標,請確保在 .env 檔案中至少設定一個 LLM API 金鑰。
可擴充性與社群
- 自訂指標 – 使用
CustomMetric類別或繼承BaseMetric來新增任何評分邏輯,包括呼叫您自己的 LLM 端點。 - 開源 – Apache 2.0 授權,提供貢獻指南,並有 Discord 社群提供支援。
- 文件 – 完整的 API 參考與教學位於 https://continuous-eval.docs.relari.ai/。
授權
Apache 2.0(參見程式碼庫中的 LICENSE 檔案)。
相關
- 專案
- 專案
- 專案
- 專案
- 專案