#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" PYTHON_BIN="${PYTHON_BIN:-/root/miniforge3/envs/asr_vlm/bin/python}" MODEL_PATH="${MODEL_PATH:-/data/yumu/model/trained_model/ark_asr_td_opd}" HOST="${HOST:-0.0.0.0}" PORT="${PORT:-18096}" GPU="${GPU:-1}" LOG_FILE="${LOG_FILE:-${ROOT_DIR}/runs/gradio_space.log}" PID_FILE="${PID_FILE:-${ROOT_DIR}/runs/gradio_space.pid}" mkdir -p "$(dirname "${LOG_FILE}")" if [[ -s "${PID_FILE}" ]]; then old_pid="$(cat "${PID_FILE}")" if [[ -n "${old_pid}" ]] && kill -0 "${old_pid}" 2>/dev/null; then kill "${old_pid}" 2>/dev/null || true sleep 1 fi fi cd "${ROOT_DIR}" CUDA_VISIBLE_DEVICES="${GPU}" \ ARK_ASR_MODEL_ID="${MODEL_PATH}" \ GRADIO_SERVER_NAME="${HOST}" \ GRADIO_SERVER_PORT="${PORT}" \ setsid "${PYTHON_BIN}" app.py > "${LOG_FILE}" 2>&1 < /dev/null & echo "$!" > "${PID_FILE}" echo "Started local Gradio: pid=$(cat "${PID_FILE}") url=http://${HOST}:${PORT}" echo "Model: ${MODEL_PATH}" echo "Log: ${LOG_FILE}"