事件结构
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| 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;表格列出检索相关性及已评估案例数量
- 趋势:测试集变化时的评估结果
- 表:延迟、成本、测试计数和评分器版本
设置此查询需要的事件
相关埋点和指南
定义源数据
此分析的事件模式
继续分析
在你的事件上运行
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。