事件結構
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 評估完成時間(UTC)。 |
| pipeline_version | Utf8 | 版本化檢索器、索引和提示設定。 |
| test_case_id | Utf8 | 穩定的評估案例識別符號。 |
| evaluation_run_id | Utf8 | 候選管線共用的一次比較執行。 |
| dataset_version | Utf8 | 固定的評估資料集版本。 |
| evaluator_version | Utf8 | 含版本的評估器、評分準則與門檻設定。 |
| relevant_document_retrieved | Boolean | 審查檢索相關性結果。 |
| answer_grounded | Boolean | 審查了接地答案的結果。 |
| retrieval_latency_ms | Int64 | 檢索階段延遲(以毫秒為單位)。 |
| cost_usd | Float64 | 以美元為單位的版本估計評估成本。 |
| environment | Utf8 | 評估或生產環境。 |
DataFusion SQL
複製查詢
sql
WITH cases AS (
SELECT
pipeline_version,
test_case_id,
COUNT(*) AS records,
MAX(CASE WHEN relevant_document_retrieved THEN 1
WHEN relevant_document_retrieved = false THEN 0 END) AS retrieved,
MAX(CASE WHEN answer_grounded THEN 1
WHEN answer_grounded = false THEN 0 END) AS grounded,
MAX(retrieval_latency_ms) AS retrieval_latency_ms,
MAX(cost_usd) AS cost_usd
FROM rag_evaluation_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'evaluation'
AND evaluation_run_id = 'release-check-001'
AND dataset_version = 'faq-v1'
AND evaluator_version = 'grounding-rubric-v1'
AND pipeline_version IS NOT NULL AND pipeline_version <> ''
AND test_case_id IS NOT NULL AND test_case_id <> ''
GROUP BY pipeline_version, test_case_id
)
SELECT
pipeline_version,
SUM(CASE WHEN records = 1 THEN 1 ELSE 0 END) AS test_cases,
SUM(CASE WHEN records > 1 THEN 1 ELSE 0 END) AS conflicting_test_cases,
COUNT(CASE WHEN records = 1 THEN retrieved END) AS retrieval_reviewed_cases,
COUNT(CASE WHEN records = 1 THEN grounded END) AS grounding_reviewed_cases,
100.0 * SUM(CASE WHEN records = 1 THEN retrieved END)
/ NULLIF(COUNT(CASE WHEN records = 1 THEN retrieved END), 0) AS retrieval_relevance_pct,
100.0 * SUM(CASE WHEN records = 1 THEN grounded END)
/ NULLIF(COUNT(CASE WHEN records = 1 THEN grounded END), 0) AS grounded_answer_pct,
AVG(CASE WHEN records = 1 THEN retrieval_latency_ms END) AS avg_retrieval_latency_ms,
SUM(CASE WHEN records = 1 THEN cost_usd END) AS evaluation_cost_usd
FROM cases
GROUP BY pipeline_version
ORDER BY grounded_answer_pct DESC NULLS LAST,
retrieval_relevance_pct DESC NULLS LAST, pipeline_version;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
各管線的有依據回答比例
長條圖僅顯示有依據回答比例。表格單獨列出檢索相關性及每項比率的已評估案例分母。
rag-v2
75%
rag-v1
50%
| pipeline_version | test_cases | conflicting_test_cases | retrieval_reviewed_cases | grounding_reviewed_cases | retrieval_relevance_pct | grounded_answer_pct | avg_retrieval_latency_ms | evaluation_cost_usd |
|---|---|---|---|---|---|---|---|---|
| rag-v2 | 4 | 0 | 4 | 4 | 75 | 75 | 95 | 0.05 |
| rag-v1 | 4 | 0 | 4 | 4 | 50 | 50 | 120 | 0.04 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1將執行、資料集與評估器的篩選條件替換為一次固定比較的設定。提示詞與答案保留在評估系統中。
- 2每個管線與測試案例只計入一筆最終紀錄。紀錄衝突的案例會單獨報告,並從比率、延遲與成本中排除。
- 3空值評估仍表示未知。每項品質比率使用各自已評估案例的數量作為分母;缺少的案例須另行與預定測試集比較。
- 4管道版本應標識用於測試的檢索器、索引快照、重新排序器和答案提示。
- 5檢索相關性和答案基礎仍然是分開的,因為好的文件仍然可以產生不受支援的答案。
- 6延遲和成本使品質比較與生產限制相關聯。
需要檢查的邊界情況
- 同一次執行中的所有管線必須使用相同的固定案例清單與評估器設定。不同版本的評估器衡量的內容不同。
- 連結的 rag_retrieval_evaluated 結構使用不同的資料契約。使用此查詢前,請加入上面列出的欄位。其 duration_ms 表示端到端耗時,並非 retrieval_latency_ms;將 retrieval_score 轉換為布林評審結果前,需要明確的相關性評審標準。
- 發布決策前應調查 conflicting_test_cases。缺少識別碼的紀錄會被排除;沒有結果列不代表失敗率為零。
- 延遲與成本只涵蓋無衝突且包含相應值的紀錄,不一定代表完整執行。
- 跨管道使用相同版本的測試用例並報告新新增或刪除的用例。
- 人類和基於模型的評分者需要記錄的評分標準、校準和分歧審查。
- 預設情況下,不要在一般遙測中儲存私人源段落或原始答案。
推薦儀表板
- 長條圖:各管線的 grounded_answer_pct;表格列出檢索相關性及已評估案例數量
- 趨勢:測試集變化時的評估結果
- 資料表:延遲、成本、測試計數和評分器版本
設定此查詢需要的事件
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在你的事件上執行
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。