feat: implement full-platform STT API (v2.3 consensus plan)
Batch+realtime transcription API: faster-whisper engine w/ EngineOwner (single GPU owner, OOM downgrade chain, persisted attempted_profiles), hardware-adaptive device manager (T0-T3 VRAM tiers), Redis/in-proc job queue w/ leases + crash recovery, postprocess (glossary/rules/LLM w/ egress guard), privacy-first result store (UUID keys, source deleted after transcribe), retention sweeper, API-key auth (HMAC digests, scopes, job ownership), WebSocket realtime lane (LocalAgreement), CLI (detect/transcribe/bench/serve/key), Docker, benchmark runner. 127 mock-based tests pass; ruff clean. Includes verification checklist and autoplan review notes.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
# luke_scribe dev launcher — Colab/개발용 순수 Python 경로 (Docker 불필요)
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [ ! -d .venv ]; then
|
||||
echo "[luke-scribe] .venv 생성 중..."
|
||||
python3 -m venv .venv
|
||||
fi
|
||||
# shellcheck disable=SC1091
|
||||
source .venv/bin/activate
|
||||
|
||||
if [ -f .env ]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1091
|
||||
source .env
|
||||
set +a
|
||||
fi
|
||||
|
||||
CMD="${1:-help}"
|
||||
shift || true
|
||||
|
||||
case "$CMD" in
|
||||
detect)
|
||||
python -m luke_scribe.cli detect "$@"
|
||||
;;
|
||||
transcribe)
|
||||
python -m luke_scribe.cli transcribe "$@"
|
||||
;;
|
||||
bench)
|
||||
python -m luke_scribe.cli bench "$@"
|
||||
;;
|
||||
serve)
|
||||
python -m luke_scribe.cli serve "$@"
|
||||
;;
|
||||
key)
|
||||
python -m luke_scribe.cli key "$@"
|
||||
;;
|
||||
test)
|
||||
python -m pytest tests/ "$@"
|
||||
;;
|
||||
*)
|
||||
echo "사용법: ./run.sh {detect|transcribe|bench|serve|key|test} [args]"
|
||||
echo
|
||||
echo "예시:"
|
||||
echo " ./run.sh detect"
|
||||
echo " ./run.sh transcribe samples/ko_en.wav --language ko"
|
||||
echo " ./run.sh serve"
|
||||
echo " ./run.sh key --create"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user