#!/bin/bash # Usage: serve.sh [port] [dp] [gpus] # Serves a checkpoint for evaluation. The two tool-call flags are mandatory (see eval-kit): # without them every structured-tool-call episode 400s. set -euo pipefail MODEL="${1:?model path}" PORT="${2:-8000}" DP="${3:-3}" export CUDA_VISIBLE_DEVICES="${4:-${SERVE_GPUS:-0,2,3}}" export VLLM_CACHE_ROOT=${VLLM_CACHE_ROOT:-/var/lib/agentptb-cache/a/tmp/vllm} export TMPDIR=${TMPDIR:-/var/lib/agentptb-cache/a/tmp} export VLLM_ENGINE_READY_TIMEOUT_S=2400 exec /root/work/a/prime-rl/.venv/bin/vllm serve "$MODEL" \ --served-model-name policy \ --host 0.0.0.0 --port "$PORT" \ --data-parallel-size "$DP" \ --tensor-parallel-size 1 \ --enable-auto-tool-choice --tool-call-parser qwen3_coder \ --limit-mm-per-prompt '{"image":0,"video":0}' \ --max-model-len 65536 \ --gpu-memory-utilization 0.85 \ --trust-remote-code