.
This commit is contained in:
+1
-1
@@ -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=Это русская речь по телефону. Точно распознавай короткие ответы, имена, фамилии, слова благодарности и прощания. Если человек представился одним словом, сохраняй его как имя. Номера телефонов записывай цифрами.
|
||||
|
||||
+15
-9
@@ -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:
|
||||
return await self._transcribe_initial_language_choice(audio_bytes)
|
||||
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(),
|
||||
language_code=configured_name_language or DEFAULT_NAME_CAPTURE_STT_LANGUAGE_CODE,
|
||||
force_batch=True,
|
||||
)
|
||||
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=None,
|
||||
language_code=_stt_language_for(self._session_language),
|
||||
force_batch=False,
|
||||
)
|
||||
|
||||
async def _transcribe_initial_language_choice(self, audio_bytes: bytes) -> str:
|
||||
|
||||
Reference in New Issue
Block a user