01 Apr, 2026

10 commits

  • tangwang
     
  • tangwang
     
  • 现在的行为(按你的路径)
    用途	路径(相对仓库根 PROJECT_ROOT)
    评估主日志(CLI + framework 的 INFO)	logs/eval.log
    LLM 全量 prompt / 原始响应	logs/verbose/eval_verbose.log
    实现要点:
    
    constants.py:EVAL_LOG_DIR、EVAL_VERBOSE_LOG_DIR、EVAL_LOG_FILE、EVAL_VERBOSE_LOG_FILE。
    logging_setup.py:setup_eval_logging() 给名为 search_eval 的 logger 挂
    文件 + stderr,只初始化一次;build_annotation_set.py / serve_eval_web.py
    走的 eval_framework.cli.main() 开头会先调用。
    cli.py:原来的 print 改为 search_eval.cli 的 logging.info;启动时写一条
    CLI start command=... log_file=... 到 logs/eval.log。
    framework.py:rebuild 相关 print 改为 search_eval.framework 的
    logging.info。
    clients.py:verbose 改为写入
    logs/verbose/eval_verbose.log;首次需要时调用 setup_eval_logging(),并用
    search_eval.info 提示 verbose 文件路径(不再用 print)。
    tangwang
     
  • tangwang
     
  • scripts/evaluation/eval_framework/constants.py:500 → 200
    Rebuild 里 rank <= recall_n 的 rerank_score: 1.0 仍按该 K 生效。
    2. LLM 批次上下限
    最少批次:DEFAULT_REBUILD_MIN_LLM_BATCHES 20 → 10
    最多批次:仍为 40(未改)
    3. 提前结束条件(_annotate_rebuild_batches)
    在已跑满 min_batches 之后,对每个批次:
    
    本批无 Exact(exact_n == 0),且满足其一即视为 bad batch:
    irrelevant_ratio >= 0.94
    或 (irrelevant + Low Relevant) / n >= 0.96(弱相关用 RELEVANCE_LOW)
    连续 2 个 bad batch 则 early stop(原先是连续 3 次、irrelevant >
    0.92)。
    
    批次日志里增加了 low_ratio、irrelevant_plus_low_ratio;rebuild
    元数据里增加了 rebuild_irrel_low_combined_stop_ratio。
    
    4. CLI
    --search-recall-top-k 说明改为默认 200
    --rebuild-min-batches 说明改为默认 10
    --rebuild-irrelevant-stop-ratio / --rebuild-irrelevant-stop-streak
    说明与新逻辑一致
    新增 --rebuild-irrel-low-combined-stop-ratio(默认 0.96)
    tangwang
     
  • tangwang
     
  • tangwang
     
  • tangwang
     
  • tangwang
     
  • tangwang
     

31 Mar, 2026

4 commits