Download harness/scripts/eval_checkpoint.sh from agentic-ptb/kimi-record: direct link, hf CLI and curl.
- Browser
- Download file 2.21 kB
-
https://huggingface.co/agentic-ptb/kimi-record/resolve/main/harness/scripts/eval_checkpoint.sh
- Command line
-
hf download hf://agentic-ptb/kimi-record/harness/scripts/eval_checkpoint.sh
-
curl -L -o eval_checkpoint.sh https://huggingface.co/agentic-ptb/kimi-record/resolve/main/harness/scripts/eval_checkpoint.sh
2.21 kB
| # Usage: eval_checkpoint.sh <checkpoint-path> <tag> [n_tb2] [n_swe] [temp] | |
| # Full loop: kill GPU procs, serve checkpoint, wait healthy, run both suites, shutdown. | |
| set -u | |
| CKPT=$1 | |
| TAG=$2 | |
| N_TB2=${3:-89} | |
| N_SWE=${4:-100} | |
| TEMP=${5:-} | |
| PORT=8500 | |
| cd /root/work/a/prime-rl | |
| export PRIME_API_KEY="$(cat "$AGENTPTB_PRIME_KEY_FILE")" | |
| # kill anything holding GPUs | |
| pkill -f "PRIME-RL" 2>/dev/null || true | |
| sleep 5 | |
| pkill -9 -f "PRIME-RL" 2>/dev/null || true | |
| sleep 3 | |
| # serve | |
| CUDA_VISIBLE_DEVICES=0 nohup uv run inference \ | |
| --model.name "$CKPT" \ | |
| --model.tool-call-parser qwen3_coder \ | |
| --model.reasoning-parser qwen3 \ | |
| --server.port $PORT --parallel.tp 1 --parallel.dp 1 \ | |
| --vllm-extra '{"limit_mm_per_prompt": {"image": 0, "video": 0}}' \ | |
| > $AGENTPTB_WORKSPACE/logs/inference-$TAG.log 2>&1 & | |
| SERVER_PID=$! | |
| # wait for health | |
| for i in $(seq 1 120); do | |
| if curl -sf http://localhost:$PORT/health > /dev/null 2>&1; then | |
| echo "server healthy after ${i}0s" | |
| break | |
| fi | |
| sleep 10 | |
| done | |
| curl -sf http://localhost:$PORT/health > /dev/null || { echo "SERVER FAILED"; exit 1; } | |
| SAMPLING=() | |
| if [ -n "$TEMP" ]; then | |
| SAMPLING=(--sampling.temperature "$TEMP") | |
| fi | |
| OUT=$AGENTPTB_WORKSPACE/evals/$TAG | |
| mkdir -p "$OUT" | |
| echo "=== terminal-bench-2: $N_TB2 tasks ===" | |
| uv run eval terminal-bench-2-v1 -m "$CKPT" \ | |
| --client.base-url "http://127.0.0.1:$PORT/v1" \ | |
| --env.agent.harness.id pi --env.agent.runtime.type broker \ | |
| --env.agent.runtime.ready_timeout_seconds 1800 \ | |
| "${SAMPLING[@]}" \ | |
| -n "$N_TB2" -r 1 -s -c 24 --no-push --rich false \ | |
| -o "$OUT/tb2" 2>&1 | tail -15 | |
| echo "=== swe-bench-verified: $N_SWE tasks ===" | |
| uv run eval swebench-verified-v1 -m "$CKPT" \ | |
| --client.base-url "http://127.0.0.1:$PORT/v1" \ | |
| --env.agent.harness.id pi --env.agent.runtime.type broker \ | |
| --env.agent.runtime.ready_timeout_seconds 1800 \ | |
| "${SAMPLING[@]}" \ | |
| -n "$N_SWE" -r 1 -s -c 64 --no-push --rich false \ | |
| -o "$OUT/swe" 2>&1 | tail -15 | |
| # shutdown server, free GPUs | |
| kill $SERVER_PID 2>/dev/null || true | |
| sleep 5 | |
| pkill -9 -f "PRIME-RL" 2>/dev/null || true | |
| echo "=== scores ===" | |
| uv run python $AGENTPTB_WORKSPACE/scripts/score.py "$OUT/tb2/traces.jsonl" "$OUT/swe/traces.jsonl" | |
| echo "=== DONE $TAG ===" | |