#!/usr/bin/env bash # Search evaluation quick entrypoints. Run from any cwd; resolves repo root. set -euo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)" cd "$ROOT" PY="${ROOT}/.venv/bin/python" TENANT_ID="${TENANT_ID:-163}" QUERIES="${REPO_EVAL_QUERIES:-scripts/evaluation/queries/queries.txt}" usage() { echo "Usage: $0 batch|batch-rebuild|serve" echo " batch — batch eval: live search every query, LLM only for missing labels (top_k=50, simple)" echo " batch-rebuild — same as batch but --force-refresh-labels (re-LLM all top_k hits; expensive, overwrites cache)" echo " serve — eval UI on http://0.0.0.0:6010/" echo "Env: TENANT_ID (default 163), REPO_EVAL_QUERIES (path to queries file)" } case "${1:-}" in batch) exec "$PY" scripts/evaluation/build_annotation_set.py batch \ --tenant-id "$TENANT_ID" \ --queries-file "$QUERIES" \ --top-k 50 \ --language en \ --labeler-mode simple ;; batch-rebuild) exec "$PY" scripts/evaluation/build_annotation_set.py batch \ --tenant-id "$TENANT_ID" \ --queries-file "$QUERIES" \ --top-k 50 \ --language en \ --labeler-mode simple \ --force-refresh-labels ;; serve) exec "$PY" scripts/evaluation/serve_eval_web.py serve \ --tenant-id "$TENANT_ID" \ --queries-file "$QUERIES" \ --host 0.0.0.0 \ --port 6010 ;; *) usage exit 1 ;; esac