PL
返回项目列表

05 · MLOps / Airflow / RAG

RAG Evaluation Pipeline

黑盒 RAG 评测流水线:仅通过 /api/v1/chat 评测检索、生成、意图与多轮对话质量,含 LLM-as-a-Judge 与统计显著性基线对比

8
DAG 任务
4 + 延迟
评测维度
171
测试
Airflow / 独立脚本
运行方式

概述

将 RAG 系统视为黑盒、仅通过公开 /api/v1/chat 端点度量真实用户体验的自动化评测流水线。 评测维度覆盖检索质量(MRR、NDCG、HitRate、Precision@5)、生成质量(GLM LLM-as-a-Judge 四维评分)、 意图识别(Accuracy、Macro-F1)与多轮对话(槽位 F1、澄清轮数、意图切换准确率、任务完成率)。 核心特性:单次 API 采集共享给全部单轮评测维度(服务端限流友好)、质量门槛(健康检查 / 失败率阈值, 杜绝"全零报告静默成功")、bootstrap 统计显著性基线对比、延迟 P50/P95/P99、 171 项测试含离线端到端冒烟测试;支持 Airflow 编排与免 Airflow 独立脚本两种运行方式。

Technical Deep Dive

Airflow DAG

data_preparation
       │
       ▼
collect_responses  →  单次黑盒采集 + 质量门槛 + 延迟统计
       │
       ├── retrieval_evaluation  → MRR / NDCG / HitRate / Precision
       ├── generation_evaluation → LLM Judge:相关性 / 流畅度 / 完整性 / 安全性
       ├── intent_evaluation     → Accuracy / F1
       └── dialogue_evaluation   → 槽位 / 澄清 / 切换 / 完成
                    │
                    ▼
baseline_comparison → Delta + 单样本 bootstrap(可选)
                    │
                    ▼
report_generation   → JSON / HTML + PostgreSQL

单次采集

先健康检查,单轮样本仅调用一次 /api/v1/chat,并执行失败率门槛。

四维评分

检索、生成、意图共享响应;多轮对话使用独立有状态线程。

基线对比

计算 Delta,用当前逐样本分数对历史聚合基线做单样本 bootstrap。

报告落盘

输出 JSON/HTML、P50/P95/P99、Judge 降级计数,并可选写入 PostgreSQL。

评测指标体系

检索质量

MRR

Mean Reciprocal Rank,正确答案排名的倒数均值

NDCG@K

Normalized Discounted Cumulative Gain,考虑相关度加权的排序指标

HitRate@K

Top-K 中是否命中正确答案

Precision@K

Top-K 结果中相关文档的比例

生成质量

相关性

回答是否直接回应用户问题

流畅度

语法、表达清晰度与自然程度

完整性

是否覆盖用户请求的信息

安全性

是否避免有害或不恰当内容;Judge 降级会显式记录

Baseline 对比

每次运行可将检索、Judge 生成与意图指标对比历史聚合 Baseline,用当前逐样本分数做单样本 bootstrap。多轮指标会进入报告,但暂未纳入显著性检验。

对比项Baseline实验组Deltap-value
MRR0.420.58+38%0.003
NDCG@50.510.63+24%0.012
Judge Relevance0.780.85+9%0.041
Intent Accuracy0.820.87+6%0.018

部署架构

Docker Compose
├── airflow-webserver (Airflow UI + DAG 调度)
├── airflow-scheduler (CeleryExecutor 任务分发)
├── airflow-worker × N (并行执行评测任务)
├── airflow-triggerer (延迟任务支持)
├── postgres (Airflow 元数据 + 评测结果存储)
└── redis (Celery 消息队列)

独立 Runner → JSON / HTML,PostgreSQL 可选

CeleryExecutor

任务级并行,多 Worker 同时跑不同评测任务

PostgreSQL

评测结果持久化,支持历史对比和趋势分析

双运行模式

可使用 Airflow 编排,也可无 Airflow/ 无 PostgreSQL 运行独立 Runner

技术栈

PythonApache AirflowPostgreSQLRedisGLM (LLM-as-a-Judge)Docker ComposePydantichttpxSciPy

核心特性

黑盒四维评测:检索 / 生成 / 意图 / 多轮对话
LLM-as-a-Judge 生成质量评分(GLM,含降级告警)
多轮对话评测:槽位 F1、澄清轮数、意图切换、任务完成率
Baseline 对比 + bootstrap 统计显著性检验(p 值 / 置信区间)
质量门槛:健康检查、请求失败率阈值、检索标签覆盖率
延迟 P50/P95/P99 分位统计
171 项测试,含离线端到端冒烟测试(防静默全零报告)
Airflow DAG 与免 Airflow 独立 runner 双运行模式