跳转到内容
人工智能和法学硕士 SQL查询示例

按版本评估 RAG 检索质量

比较跨 RAG 管道版本的相关文档检索、接地答案、检索延迟和评估成本。

中级rag_evaluation_events已审核 2026-10-02测试用 阿帕奇 DataFusion 45.2.0

审阅者 Telemetry产品团队 上 . 我们检查了 SQL 语法、必需的事件字段、示例结果和查询使用限制. 谁负责审核此页面

问题已回答

新的 RAG 管道是否提高了检索率和接地答案率?

RAG 质量不是一个分数。该查询将版本化测试集的检索相关性、答案基础、延迟和评估成本保持在一起,以便可以根据操作权衡来审查明显的质量增益。

事件结构

查询期望的字段

字段类型为什么存在
timestamp_utcTimestamp评估完成时间(UTC)。
pipeline_versionUtf8版本化检索器、索引和提示配置。
test_case_idUtf8稳定的评估案例标识符。
evaluation_run_idUtf8候选管道共享的一次比较运行。
dataset_versionUtf8固定的评估数据集版本。
evaluator_versionUtf8带版本的评估器、评分标准和阈值配置。
relevant_document_retrievedBoolean审查检索相关性结果。
answer_groundedBoolean审查了接地答案的结果。
retrieval_latency_msInt64检索阶段延迟(以毫秒为单位)。
cost_usdFloat64以美元为单位的版本估计评估成本。
environmentUtf8评估或生产环境。
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。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。

查询结果

各管道的有依据回答比例

柱状图仅显示有依据回答比例。表格单独列出检索相关性及每项比率的已评估案例分母。

pipeline_versiontest_casesconflicting_test_casesretrieval_reviewed_casesgrounding_reviewed_casesretrieval_relevance_pctgrounded_answer_pctavg_retrieval_latency_msevaluation_cost_usd
rag-v240447575950.05
rag-v1404450501200.04

综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。

Grounded-answer rate by pipeline:来自 Evaluate RAG retrieval quality by version 示例结果的合成 grounded_answer_pct 值的静态图表
确定性示例输出的可索引 SVG。下载它以获取带有归属的文章、操作手册或设计评论。

重现示例

下载示例数据

JSON 包包含类型化事件契约, reproducible 输入行、确切的 SQL、预期输出、审阅注释和引擎版本。 CSV 包含显示的结果。

SQL 是如何工作的

  1. 1将运行、数据集和评估器筛选条件替换为一次固定比较的配置。提示词和答案保留在评估系统中。
  2. 2每个管道和测试案例只计入一条最终记录。记录冲突的案例会单独报告,并从比率、延迟和成本中排除。
  3. 3空值评估仍表示未知。每项质量比率使用各自已评估案例的数量作为分母;缺失案例需另行与计划的测试集比较。
  4. 4管道版本应标识用于测试的检索器、索引快照、重新排序器和答案提示。
  5. 5检索相关性和答案基础仍然是分开的,因为好的文档仍然可以产生不受支持的答案。
  6. 6延迟和成本使质量比较与生产限制相关联。

需要检查的边界情况

  • 同一次运行中的所有管道必须使用相同的固定案例列表和评估器配置。不同版本的评估器衡量的内容不同。
  • 链接的 rag_retrieval_evaluated 模式使用不同的数据契约。使用此查询前,请添加上面列出的字段。其 duration_ms 表示端到端耗时,并非 retrieval_latency_ms;将 retrieval_score 转换为布尔评审结果前,需要明确的相关性评审标准。
  • 发布决策前应调查 conflicting_test_cases。缺少标识符的记录会被排除;没有结果行不代表失败率为零。
  • 延迟和成本只覆盖无冲突且包含相应值的记录,不一定代表完整运行。
  • 跨管道使用相同版本的测试用例并报告新添加或删除的用例。
  • 人类和基于模型的评分者需要记录的评分标准、校准和分歧审查。
  • 默认情况下,不要在一般遥测中存储私人源段落或原始答案。

推荐仪表板

  • 柱状图:各管道的 grounded_answer_pct;表格列出检索相关性及已评估案例数量
  • 趋势:测试集变化时的评估结果
  • 表:延迟、成本、测试计数和评分器版本

警报指导

使用具有最小测试计数和审查回归容差的评估发布门,而不是生产分页警报。

读取警报设置

设置此查询需要的事件

相关埋点和指南

定义源数据

此分析的事件模式

继续分析

在你的事件上运行

创建表,调整字段并保存结果

免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。

获取 API 密钥