This commit is contained in:
Magzhan Zhumabayev
2026-05-02 13:33:12 +05:00
parent 7403f7df07
commit 7b5f20723a
2 changed files with 16 additions and 10 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ OLLAMA_LLM_NUM_CTX=1024
STT_PROVIDER=openai
STT_FALLBACK_PROVIDER=elevenlabs
# Empty means auto-detect the first answer, because the greeting asks for preferred language first.
# Empty means auto-detect the first language-choice answer, then use Kazakh STT for name capture.
STT_NAME_CAPTURE_LANGUAGE_CODE=
STT_PROMPT=
STT_PROMPT_RU=Это русская речь по телефону. Точно распознавай короткие ответы, имена, фамилии, слова благодарности и прощания. Если человек представился одним словом, сохраняй его как имя. Номера телефонов записывай цифрами.
+14 -8
View File
@@ -395,6 +395,8 @@ _STT_ELEVENLABS_LANGUAGE_MAP = {
"kk": "kaz",
}
DEFAULT_NAME_CAPTURE_STT_LANGUAGE_CODE = "kk"
def _tts_language_for(session_language: str | None) -> str | None:
if not session_language:
@@ -1789,17 +1791,21 @@ class CallSession:
return raw or None
async def _transcribe_batch_audio(self, audio_bytes: bytes) -> str:
if self._awaiting_customer_name and self._session_language is None and self._name_capture_language_code() is None:
if self._awaiting_customer_name:
configured_name_language = self._name_capture_language_code()
if self._session_language is None and configured_name_language is None:
return await self._transcribe_initial_language_choice(audio_bytes)
return await self._stt.transcribe(
audio_bytes,
keyterms=self._name_capture_keyterms() if self._awaiting_customer_name else None,
language_code=(
self._name_capture_language_code()
if self._awaiting_customer_name
else _stt_language_for(self._session_language)
),
force_batch=self._awaiting_customer_name,
keyterms=self._name_capture_keyterms(),
language_code=configured_name_language or DEFAULT_NAME_CAPTURE_STT_LANGUAGE_CODE,
force_batch=True,
)
return await self._stt.transcribe(
audio_bytes,
keyterms=None,
language_code=_stt_language_for(self._session_language),
force_batch=False,
)
async def _transcribe_initial_language_choice(self, audio_bytes: bytes) -> str: