video_editing_poc/tools/run_local_cv_worker.sh

26 lines
719 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
HOST="${LOCAL_CV_HOST:-127.0.0.1}"
PORT="${LOCAL_CV_PORT:-8091}"
MODEL="${LOCAL_CV_YOLO_MODEL:-yolov8n.pt}"
if [ ! -d ".venv-local-cv" ]; then
python3 -m venv .venv-local-cv
fi
. .venv-local-cv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r tools/local_cv_requirements.txt
if [ "${LOCAL_CV_DISABLE_YOLO:-false}" != "true" ]; then
LOCAL_CV_YOLO_MODEL="$MODEL" python -c "import os; from ultralytics import YOLO; YOLO(os.environ['LOCAL_CV_YOLO_MODEL'])"
fi
if [ "${LOCAL_CV_PRELOAD_ONLY:-false}" = "true" ]; then
echo "Local CV dependencies and model are ready."
exit 0
fi
exec uvicorn tools.local_cv_worker:app --host "$HOST" --port "$PORT"