Added WHISPER_LANGUAGE env variable. If set to a country's ISO2, constrains Whisper's stt to that language. Detects language as normal if unset

This commit is contained in:
nathaniel 2025-04-27 05:58:06 +01:00
parent 852d9dcbe9
commit 1efa708f83
3 changed files with 8 additions and 0 deletions

View File

@ -2510,6 +2510,11 @@ WHISPER_VAD_FILTER = PersistentConfig(
os.getenv("WHISPER_VAD_FILTER", "False").lower() == "true",
)
WHISPER_LANGUAGE = PersistentConfig(
"WHISPER_LANGUAGE",
"audio.stt.whisper_language",
os.getenv("WHISPER_LANGUAGE", None).lower(),
)
# Add Deepgram configuration
DEEPGRAM_API_KEY = PersistentConfig(

View File

@ -167,6 +167,7 @@ from open_webui.config import (
WEB_LOADER_ENGINE,
WHISPER_MODEL,
WHISPER_VAD_FILTER,
WHISPER_LANGUAGE,
DEEPGRAM_API_KEY,
WHISPER_MODEL_AUTO_UPDATE,
WHISPER_MODEL_DIR,
@ -791,6 +792,7 @@ app.state.config.STT_MODEL = AUDIO_STT_MODEL
app.state.config.WHISPER_MODEL = WHISPER_MODEL
app.state.config.WHISPER_VAD_FILTER = WHISPER_VAD_FILTER
app.state.config.WHISPER_LANGUAGE = WHISPER_LANGUAGE
app.state.config.DEEPGRAM_API_KEY = DEEPGRAM_API_KEY
app.state.config.AUDIO_STT_AZURE_API_KEY = AUDIO_STT_AZURE_API_KEY

View File

@ -501,6 +501,7 @@ def transcribe(request: Request, file_path):
file_path,
beam_size=5,
vad_filter=request.app.state.config.WHISPER_VAD_FILTER,
language=request.app.state.config.WHISPER_LANGUAGE
)
log.info(
"Detected language '%s' with probability %f"