start_coarse_fusion_tuning_long.sh 1.56 KB
#!/bin/bash

set -euo pipefail

cd "$(dirname "$0")/../.."
source ./activate.sh

RUN_NAME="${RUN_NAME:-coarse_fusion_long_$(date -u +%Y%m%dT%H%M%SZ)}"
MAX_EVALS="${MAX_EVALS:-36}"
BATCH_SIZE="${BATCH_SIZE:-3}"
CANDIDATE_POOL_SIZE="${CANDIDATE_POOL_SIZE:-512}"
RANDOM_SEED="${RANDOM_SEED:-20260416}"

LAUNCH_DIR="artifacts/search_evaluation/tuning_launches"
mkdir -p "${LAUNCH_DIR}"
LOG_PATH="${LAUNCH_DIR}/${RUN_NAME}.log"
PID_PATH="${LAUNCH_DIR}/${RUN_NAME}.pid"
CMD_PATH="${LAUNCH_DIR}/${RUN_NAME}.cmd"

CMD=(
  python
  scripts/evaluation/tune_fusion.py
  --mode optimize
  --run-name "${RUN_NAME}"
  --search-space scripts/evaluation/tuning/coarse_rank_fusion_space.yaml
  --seed-report artifacts/search_evaluation/batch_reports/batch_20260415T150754Z_00b6a8aa3d.md
  --tenant-id 163
  --queries-file scripts/evaluation/queries/queries.txt
  --top-k 100
  --language en
  --search-base-url http://127.0.0.1:6002
  --eval-web-base-url http://127.0.0.1:6010
  --max-evals "${MAX_EVALS}"
  --batch-size "${BATCH_SIZE}"
  --candidate-pool-size "${CANDIDATE_POOL_SIZE}"
  --random-seed "${RANDOM_SEED}"
)

if [ "$#" -gt 0 ]; then
  CMD+=("$@")
fi

printf '%q ' "${CMD[@]}" > "${CMD_PATH}"
printf '\n' >> "${CMD_PATH}"

nohup "${CMD[@]}" > "${LOG_PATH}" 2>&1 &
PID=$!
echo "${PID}" > "${PID_PATH}"

echo "run_name=${RUN_NAME}"
echo "pid=${PID}"
echo "log=${LOG_PATH}"
echo "pid_file=${PID_PATH}"
echo "cmd_file=${CMD_PATH}"
echo "run_dir=artifacts/search_evaluation/tuning_runs/${RUN_NAME}"
echo
echo "tail -f ${LOG_PATH}"
echo "cat artifacts/search_evaluation/tuning_runs/${RUN_NAME}/leaderboard.csv"