【方案落地】
- 配置层:在 config/config.yaml 中注册 core_queries(原53条)和 clothing_top771(771条)
核心改动:config/schema.py (line 410) 增加 EvaluationDataset 模型;
config/loader.py (line 304) 提供 get_dataset/list_datasets,兼容旧配置;
新增 scripts/evaluation/eval_framework/datasets.py 作为 dataset registry 辅助模块
- 存储与框架:所有 artifact 按 dataset_id 隔离,标注缓存跨数据集共享
核心改动:store.py (line 1) 增加 dataset_id 字段到 build_runs/batch_runs;
framework.py (line 1) build/batch_evaluate 接受 dataset_id 并固化 snapshot
- CLI 与调参:所有子命令增加 --dataset-id 参数
核心改动:cli.py (line 1)、tune_fusion.py (line 1) 及启动脚本
- Web 与前端:支持动态切换评估集,History 按 dataset 过滤
核心改动:web_app.py (line 1) 新增 /api/datasets,/api/history 支持 dataset_id;
static/index.html 和 eval_web.js (line 1) 增加下拉选择器
【验证与测试】
- 新增 tests/test_search_evaluation_datasets.py,pytest 通过 2 passed
- 编译检查通过(pyflakes/mypy 核心模块)
- eval-web 已按新模型重启并通过健康检查(后续因资源占用不稳定,不影响标注)
【LLM 标注运行状态】
- 目标 dataset:clothing_top771(771条query)
- 手动拉起 reranker(因 search.rerank.enabled=false),确认 /health 正常
- 执行 rebuild --dataset-id clothing_top771,当前已进入第1个 query "白色oversized T-shirt" 的批量标注阶段(llm_batch=24/40)
- 日志:logs/eval.log(主进度),logs/verbose/eval_verbose.log(详细 LLM I/O)