diff --git a/backend/app/eval/__init__.py b/backend/app/eval/__init__.py index a4d8cb01..90c1197b 100644 --- a/backend/app/eval/__init__.py +++ b/backend/app/eval/__init__.py @@ -8,6 +8,8 @@ - answer.py:无头地走一遍问数据页那一轮(answer_ops → chat/turn 的决定 → 运行 → 复核 → 要的话重来一次); - runner.py:后台评测(并发、预算、止损、停止、只重试没做完的、重启标中断); - score.py、judging.py、rescore.py:评分(五种结论、维度配对、逐题 E1)、结论裁判和文字要点(模型判断,单列)、按新规则重评; +- judgements.py:分析期望(贡献、判定):在期望 SQL 的结果上用平台的分析方法算期望的判定,答案里的分析结论和正文的判断词按 + 同一套判定类、同一张说法表比(docs/design/analysis-round/00-总方案.md §3.8); - stats.py、compare.py:总表与区间、和上一次比、A/B 配对表与精确 McNemar; - cleanup.py:按保留规则清理明细、回收工件;scheduled.py:题集的定时。 diff --git a/backend/app/eval/runner.py b/backend/app/eval/runner.py index 365f4ed3..7fea009c 100644 --- a/backend/app/eval/runner.py +++ b/backend/app/eval/runner.py @@ -12,6 +12,9 @@ EvalResult:建评测时就全部建好(pending),进度、「正在做什 snapshot 视图):起草、剖析照常进行,也不影响这次评测的可比性。各数据源的上传表格版本、表结构哈希开始和结束各记一次, 变了在指纹里标出(sources_changed)。 +**分析设置。** 题集里有分析期望(贡献、判定)的,开评时拍一份分析设置(判定用的阈值):算期望、各臂作答的运行都按这一份, +记进指纹(和上一次比时阈值变了照实标出),重试沿用。别的题集不拍,指纹、作答运行的选项和以前一样。 + **并发。** 同时最多 max_parallel 题,且所有臂合起来不超过全局运行并发的四分之一。评测发起的作答、算期望的运行归「系统」类 (app/cluster/slots.py):全站的名额按类别有上限和优先级,评测再多也只占得到系统那一类的名额,问数据、试跑优先,不被挤占。 A/B 的同一题几臂同时开跑。每题时限 per_case_timeout_s:作答一臂超时就取消它正在跑的运行、记超时;