20 Apr, 2026

1 commit

  • - 问题背景:clothing_top771 数据集在被外部异常终止(reranker被kill);缺乏统一的断点续跑机制,此前依赖临时脚本恢复。
    - 解决方案:在 eval_framework/cli.py 的 build 命令中新增 --resume-missing、--continue-on-error、--max-retries-per-query、--retry-backoff-sec 参数,并修正默认参数逻辑(有 dataset_id 时不再强塞 legacy queries_file)。
    - 脚本统一:更新 start_eval.sh 和 start_eval_web.sh,增加 batch-rebuild-resume 入口,统一使用 dataset 模式,REPO_EVAL_QUERIES 改为可选覆盖。
    - 文档补充:在 scripts/evaluation/README.md 中添加中断续跑说明和新命令用法。
    - 验证:eval-web 多数据集接口(/api/datasets、/api/history?dataset_id=...)正常返回 core_queries 与 clothing_top771 分域结果;当前进程已越过第 48 条,query_builds 计数增至 54,正在处理第 55/771。
    
    把流程做成可持续的“统一续跑”能力,避免再靠临时脚本:
    - 在 [scripts/evaluation/eval_framework/cli.py](/data/saas-search/scripts/evaluation/eval_framework/cli.py) 新增 `build --resume-missing --continue-on-error --max-retries-per-query --retry-backoff-sec`,并修正默认参数逻辑(有 `dataset_id` 时不再强塞 legacy `queries_file`)。
    - 在 [scripts/evaluation/start_eval.sh](/data/saas-search/scripts/evaluation/start_eval.sh) 新增 `batch-rebuild-resume` 入口,统一用 dataset 模式,`REPO_EVAL_QUERIES` 仅作可选覆盖。
    - 在 [scripts/start_eval_web.sh](/data/saas-search/scripts/start_eval_web.sh) 做同样的 dataset/queries 统一化。
    - 在 [scripts/evaluation/README.md](/data/saas-search/scripts/evaluation/README.md) 补了中断续跑说明和新命令。
    - 已验证 `eval-web` 多数据集接口正常(`/api/datasets`、`/api/history?dataset_id=...` 均返回 `core_queries` 与 `clothing_top771` 分域结果)。
    
    当前在线进程:
    - LLM 标注:`PID 2062901`(`build ... --dataset-id clothing_top771 --resume-missing ...`)
    - reranker:`PID 2065235`(6007,`/health` 返回 `ok`)
    
    盯进度:
    ```bash
    tail -f logs/eval.log
    ls -1 artifacts/search_evaluation/datasets/clothing_top771/query_builds | wc -l
    curl -sS http://127.0.0.1:6007/health
    ```
    
    影响范围:scripts/evaluation/eval_framework/cli.py, scripts/evaluation/start_eval.sh, scripts/start_eval_web.sh, scripts/evaluation/README.md
    tangwang
     

17 Apr, 2026

2 commits

  • 2. eval framework: record request_id and response body when LLM calls fail — clients.py: added request ID extraction and error description functions
    tangwang
     
  • 【方案落地】
    - 配置层:在 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)
    tangwang
     

16 Apr, 2026

2 commits


08 Apr, 2026

2 commits


07 Apr, 2026

1 commit


04 Apr, 2026

2 commits


03 Apr, 2026

1 commit


02 Apr, 2026

3 commits


01 Apr, 2026

16 commits


31 Mar, 2026

10 commits