57f5b60a3e
- 新增 scripts/resolve_run_ids.sh:从 workflow5/ 解析出 SFT_RUNDIC / EVAL_RUNDIC,禁止 agent 心算 +1 - submit_sft_via_cml.sh 拆成 <SFT_RUNDIC> <EVAL_RUNDIC> [PREV_RUNDIC] 三参,yaml 用 SFT_RUNDIC,cml workflow run 用 EVAL_RUNDIC - program.md §746 / §5.2 / §1.2 同步约束,并加 R2 落盘多 +1 的踩坑案例 - §4.0.1 Step A.5 / §4.5 label-master 复核改逐条调用(≤8 路并发),禁止批量塞多条 query Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
43 lines
1.4 KiB
Bash
Executable File
43 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
||
# resolve_run_ids.sh —— SFT/EVAL runDic 单一可信来源
|
||
#
|
||
# 规则(与 program.md §746 + §5.2 对齐):
|
||
# SFT_RUNDIC = workflow5/ 下「已落盘」(含 metric_diff/lark_template.json)的最大 runDic
|
||
# 即 R{n-1}.runDic —— augment 落盘、SFT yaml、modified_samples 归档全用这个值
|
||
# EVAL_RUNDIC = SFT_RUNDIC + 1
|
||
# 仅 cml workflow run 提交本轮评测时使用
|
||
#
|
||
# 用法:
|
||
# eval "$(./scripts/resolve_run_ids.sh)"
|
||
# echo "$SFT_RUNDIC $EVAL_RUNDIC"
|
||
#
|
||
# 失败行为:找不到任何已落盘 workflow 时打 ERR 到 stderr 并 exit 1,调用方 set -e 时直接终止。
|
||
|
||
set -euo pipefail
|
||
|
||
WF_ROOT=${WF_ROOT:-/mnt/xiaoai-zk-model-train-tj5/workflow5}
|
||
|
||
if [ ! -d "$WF_ROOT" ]; then
|
||
echo "ERR: WF_ROOT=$WF_ROOT 不存在或不可读" >&2
|
||
exit 1
|
||
fi
|
||
|
||
# 只挑「已落盘」的 workflow:必须存在 metric_diff/lark_template.json
|
||
# 这样可以避免 CML 创建了空目录就被算成最大值
|
||
MAX=$(
|
||
for d in "$WF_ROOT"/workflow*; do
|
||
[ -d "$d" ] || continue
|
||
[ -f "$d/metric_diff/lark_template.json" ] || continue
|
||
name=$(basename "$d")
|
||
echo "${name#workflow}"
|
||
done | sort -n | tail -1
|
||
)
|
||
|
||
if [ -z "$MAX" ]; then
|
||
echo "ERR: $WF_ROOT 下没有任何已落盘的 workflow(含 metric_diff/lark_template.json)" >&2
|
||
exit 1
|
||
fi
|
||
|
||
echo "SFT_RUNDIC=$MAX"
|
||
echo "EVAL_RUNDIC=$((MAX+1))"
|