返回项目列表
MLOps
Airflow
RAG
Evaluation
Docker
RAG Evaluation Pipeline
基于 Airflow 的 RAG 自动化评测流水线,覆盖检索质量、生成质量和基线对比
5
DAG 任务
8+
评测指标
JSON, HTML
报告格式
Docker Compose
容器编排
概述
基于 Apache Airflow + CeleryExecutor 构建的 RAG 自动化评测流水线。 评测维度覆盖检索质量(MRR、NDCG、HitRate)和生成质量(ROUGE、BLEU、BERTScore)。 核心特性:Docker Compose 容器化编排、PostgreSQL 结果存储、 自动化报告生成(JSON/HTML)以及 Baseline 对比与统计显著性检验。
Technical Deep Dive
Airflow DAG
prepare_data → load_corpus + generate_test_queries
│
▼
run_retrieval_eval → MRR / NDCG / HitRate / Precision
│
▼
run_generation_eval → ROUGE / BLEU / BERTScore
│
▼
baseline_compare → Delta Metrics + 统计显著性检验 (t-test)
│
▼
generate_report → JSON / HTML 报告 + 可视化图表Prepare
加载语料库 + 生成测试查询对
Retrieve
执行检索并计算 MRR/NDCG/HitRate
Generate
LLM 生成答案并计算 ROUGE/BLEU/BERTScore
Compare
Baseline 对比 + t-test 显著性检验
Report
输出 JSON/HTML 报告与可视化图表
评测指标体系
检索质量
MRR
Mean Reciprocal Rank,正确答案排名的倒数均值
NDCG@K
Normalized Discounted Cumulative Gain,考虑相关度加权的排序指标
HitRate@K
Top-K 中是否命中正确答案
Precision@K
Top-K 结果中相关文档的比例
生成质量
ROUGE-L
最长公共子序列匹配,衡量生成文本与参考答案的重叠度
BLEU-4
4-gram 精确匹配,评估生成文本的流畅度和准确性
BERTScore
基于 BERT 嵌入的语义相似度,捕捉语义层面的匹配
Baseline 对比
每个新配置必须与 Baseline(默认 BM25 + 标准 Prompt)做对比,计算 Delta Metrics 并进行统计显著性检验。
| 对比项 | Baseline | 实验组 | Delta | p-value |
|---|---|---|---|---|
| MRR | 0.42 | 0.58 | +38% | 0.003 |
| NDCG@5 | 0.51 | 0.63 | +24% | 0.012 |
| BERTScore | 0.78 | 0.85 | +9% | 0.041 |
| Latency (ms) | 245 | 198 | -19% | 0.008 |
部署架构
Docker Compose ├── airflow-webserver (Airflow UI + DAG 调度) ├── airflow-scheduler (CeleryExecutor 任务分发) ├── airflow-worker × N (并行执行评测任务) ├── postgres (Airflow 元数据 + 评测结果存储) ├── redis (Celery 消息队列) └── minio (可选,报告文件存储)
CeleryExecutor
任务级并行,多 Worker 同时跑不同评测任务
PostgreSQL
评测结果持久化,支持历史对比和趋势分析
一键部署
docker-compose up -d 拉起完整环境
技术栈
PythonApache AirflowPostgreSQLRedisDocker ComposePydantichttpx
核心特性
检索评测(MRR、NDCG、HitRate、Precision)
生成评测(ROUGE、BLEU、BERTScore)
Baseline 对比 + Delta Metrics 差异分析
自动化 JSON/HTML 报告生成
PostgreSQL 结果持久化存储
Docker Compose 一键部署
Airflow CeleryExecutor 分布式调度
统计显著性检验