跳到主要内容

本地评测(eval_local.py)

eval_local.py 用于本地复现评测打分方式(RougeL-F1 + jieba 分词),并输出吞吐/耗时统计。

基本用法

默认调用本机:

python3 eval_local.py --endpoint http://127.0.0.1:8000/predict --health http://127.0.0.1:8000/

指定评测集(需要 basic.docx/plus.docx 在脚本旁或传绝对路径):

python3 eval_local.py --which basic --basic_docx /path/to/basic.docx
python3 eval_local.py --which bonus --bonus_docx /path/to/plus.docx

Batch 评测(推荐与线上一致)

--batch 会一次性把所有问题作为 prompt=list[str] 发到 /predict,更贴近评测机的 batch 行为:

python3 eval_local.py --which bonus --batch --overwrite_jsonl

关键参数

  • --timeout:单次请求超时(默认 300s)
  • --sleep:请求间隔(默认 0)
  • --strip_q_suffix:额外计算一个“清理题目重复后缀”的分数(仅用于诊断/对比)
  • --model_dir_for_tokenizer:加载 tokenizer 用于 token 计数(缺省时 token 统计为 0)
  • --save_jsonl / --overwrite_jsonl:保存每题细节到 jsonl(便于查错)

输出指标(auto_tune 会解析)

auto_tune.py 主要解析如下行:

  • Accuracy (RougeL-F1 mean, RAW): ...
  • Throughput RAW: answer_tokens/s=..., (prompt+answer)_tokens/s=...
  • Total time: ...s

因此如果你改了 eval_local 的输出格式,要同步改 auto_tune 的正则解析。