fix: use cloud local asr fallback
This commit is contained in:
@@ -61,6 +61,7 @@ LLM_API_KEY = os.getenv("LLM_API_KEY", "").strip()
|
||||
ASR_BASE_URL = os.getenv("ASR_BASE_URL", LLM_BASE_URL).strip()
|
||||
ASR_API_KEY = (os.getenv("ASR_API_KEY") or LLM_API_KEY).strip()
|
||||
ASR_MODEL = os.getenv("ASR_MODEL", "whisper-1")
|
||||
ASR_LANGUAGE = os.getenv("ASR_LANGUAGE", "en").strip()
|
||||
ASR_REMOTE_ENABLED = os.getenv("ASR_REMOTE_ENABLED", "true").strip().lower() not in {"0", "false", "no", "off"}
|
||||
ASR_LOCAL_FALLBACK_ENABLED = os.getenv("ASR_LOCAL_FALLBACK_ENABLED", "true").strip().lower() not in {"0", "false", "no", "off"}
|
||||
ASR_AUDIO_FALLBACK_ENABLED = os.getenv("ASR_AUDIO_FALLBACK_ENABLED", "true").strip().lower() not in {"0", "false", "no", "off"}
|
||||
@@ -2875,6 +2876,7 @@ def _transcribe_sync(wav: Path) -> list[dict]:
|
||||
model=ASR_MODEL,
|
||||
response_format="verbose_json",
|
||||
timestamp_granularities=["segment"],
|
||||
**({"language": ASR_LANGUAGE} if ASR_LANGUAGE else {}),
|
||||
)
|
||||
raw = resp.model_dump() if hasattr(resp, "model_dump") else resp
|
||||
segments = raw.get("segments") or []
|
||||
@@ -2917,7 +2919,7 @@ def _translate_sync(segments: list[dict]) -> list[str]:
|
||||
+ json.dumps(payload, ensure_ascii=False)
|
||||
)
|
||||
try:
|
||||
resp = llm().chat.completions.create(
|
||||
resp = llm().with_options(timeout=ASR_TIMEOUT_SECONDS).chat.completions.create(
|
||||
model=TRANSLATE_MODEL,
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
response_format={"type": "json_object"},
|
||||
@@ -4007,6 +4009,7 @@ def health() -> dict:
|
||||
"voice_base_url": AZURE_OPENAI_BASE_URL,
|
||||
"models": {
|
||||
"asr": ASR_MODEL,
|
||||
"asr_language": ASR_LANGUAGE,
|
||||
"asr_base_url": ASR_BASE_URL or LLM_BASE_URL or "openai-default",
|
||||
"asr_remote_enabled": ASR_REMOTE_ENABLED,
|
||||
"asr_local_fallback_enabled": ASR_LOCAL_FALLBACK_ENABLED,
|
||||
|
||||
Reference in New Issue
Block a user