From 38d91cad0c358c5af289677a5c316e418d955a2e Mon Sep 17 00:00:00 2001 From: ChaoticByte Date: Sun, 8 Jun 2025 18:40:28 +0200 Subject: [PATCH] Add API_STT_THREADS env var to configure the number of STT threads per worker --- env_example.sh | 1 + transcriptapi/env.py | 5 +++++ transcriptapi/server.py | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/env_example.sh b/env_example.sh index 565c34e..2a87a38 100644 --- a/env_example.sh +++ b/env_example.sh @@ -1,3 +1,4 @@ export ACCESS_CONTROL_ALLOW_ORIGIN="*" export API_STT_MODEL="/Models/faster-whisper-medium" +# export API_STT_THREADS=4 # per worker, default: 4 diff --git a/transcriptapi/env.py b/transcriptapi/env.py index 334fcb2..f6a2ee1 100644 --- a/transcriptapi/env.py +++ b/transcriptapi/env.py @@ -9,6 +9,11 @@ _logger = _ComponentLogger("Environment", print_timestamp=False) try: ACCESS_CONTROL_ALLOW_ORIGIN = str(_environ["ACCESS_CONTROL_ALLOW_ORIGIN"]) API_STT_MODEL = _Path(_environ["API_STT_MODEL"]) + API_STT_THREADS = int(_environ.get("API_STT_THREADS", 4)) # per worker + # log stt config + _logger.info("STT Configuration:") + _logger.info(f" Model: {API_STT_MODEL}") + _logger.info(f" Threads: {API_STT_THREADS} per worker") except KeyError as e: _logger.critical(f"Missing {e}") exit(1) diff --git a/transcriptapi/server.py b/transcriptapi/server.py index 94ad773..33dc0e4 100644 --- a/transcriptapi/server.py +++ b/transcriptapi/server.py @@ -31,7 +31,7 @@ def get_app() -> _Sanic: @app.before_server_start async def setup_stt(app): - app.ctx.stt = _STT(_env.API_STT_MODEL, logger=_ComponentLogger(f"{_getpid()}/STT")) + app.ctx.stt = _STT(_env.API_STT_MODEL, n_threads=_env.API_STT_THREADS, logger=_ComponentLogger(f"{_getpid()}/STT")) @app.after_server_start async def init_stt(app):