feat: enhance acknowledgment responses for Kazakh and Russian languages
deploy / deploy (push) Successful in 33s

This commit is contained in:
2026-08-28 15:12:19 +05:00
parent fadff59512
commit b474c35608
2 changed files with 43 additions and 15 deletions
+4 -4
View File
@@ -70,8 +70,8 @@ AI_VOICE_ASR_ELEVENLABS_LANGUAGE=ru
AI_VOICE_ASR_ELEVENLABS_REALTIME_MODEL_ID=scribe_v2_realtime AI_VOICE_ASR_ELEVENLABS_REALTIME_MODEL_ID=scribe_v2_realtime
AI_VOICE_ASR_ELEVENLABS_REALTIME_AUDIO_FORMAT=pcm_16000 AI_VOICE_ASR_ELEVENLABS_REALTIME_AUDIO_FORMAT=pcm_16000
AI_VOICE_ASR_ELEVENLABS_REALTIME_COMMIT_STRATEGY=vad AI_VOICE_ASR_ELEVENLABS_REALTIME_COMMIT_STRATEGY=vad
AI_VOICE_ASR_ELEVENLABS_REALTIME_DEBUG_DUMP_AUDIO=1 AI_VOICE_ASR_ELEVENLABS_REALTIME_DEBUG_DUMP_AUDIO=0
AI_VOICE_ASR_ELEVENLABS_REALTIME_FINALIZE_TIMEOUT_SECONDS=2.5 AI_VOICE_ASR_ELEVENLABS_REALTIME_FINALIZE_TIMEOUT_SECONDS=1.5
AI_VOICE_ASR_YANDEX_API_KEY=AQWJe16Rdlx_peHUppZ79csG49f1gP4wwQyDzeQ_ AI_VOICE_ASR_YANDEX_API_KEY=AQWJe16Rdlx_peHUppZ79csG49f1gP4wwQyDzeQ_
AI_VOICE_ASR_YANDEX_FOLDER_ID=ao7hkif5pvc7vfnmbl0d AI_VOICE_ASR_YANDEX_FOLDER_ID=ao7hkif5pvc7vfnmbl0d
@@ -83,9 +83,9 @@ AI_VOICE_TTS_CACHE_DIR=/app/.data_local/ai_voice_tts_cache
AI_VOICE_TTS_ELEVENLABS_API_KEY=sk_eb9bd36750e2a7fb378259b7144e978a044cfb412e6a2ac9 AI_VOICE_TTS_ELEVENLABS_API_KEY=sk_eb9bd36750e2a7fb378259b7144e978a044cfb412e6a2ac9
AI_VOICE_TTS_ELEVENLABS_API_BASE=https://api.elevenlabs.io AI_VOICE_TTS_ELEVENLABS_API_BASE=https://api.elevenlabs.io
AI_VOICE_TTS_ELEVENLABS_MODEL_ID=eleven_turbo_v2_5 AI_VOICE_TTS_ELEVENLABS_MODEL_ID=eleven_turbo_v2_5
AI_VOICE_TTS_ELEVENLABS_RU_VOICE_ID=NhY0kyTmsKuEpHvDMngm AI_VOICE_TTS_ELEVENLABS_RU_VOICE_ID=t6lBrEl93uCiLR1Lgm8v
AI_VOICE_TTS_ELEVENLABS_RU_LANGUAGE_CODE=ru AI_VOICE_TTS_ELEVENLABS_RU_LANGUAGE_CODE=ru
AI_VOICE_TTS_ELEVENLABS_KK_VOICE_ID=NhY0kyTmsKuEpHvDMngm AI_VOICE_TTS_ELEVENLABS_KK_VOICE_ID=t6lBrEl93uCiLR1Lgm8v
AI_VOICE_TTS_ELEVENLABS_KK_LANGUAGE_CODE=kk AI_VOICE_TTS_ELEVENLABS_KK_LANGUAGE_CODE=kk
AI_VOICE_TTS_ELEVENLABS_OUTPUT_FORMAT=pcm_16000 AI_VOICE_TTS_ELEVENLABS_OUTPUT_FORMAT=pcm_16000
AI_VOICE_TTS_YANDEX_API_KEY=AQWJUMiUaXmbegxN4kgvM2XIlNqAPoBR5Wtq-40 AI_VOICE_TTS_YANDEX_API_KEY=AQWJUMiUaXmbegxN4kgvM2XIlNqAPoBR5Wtq-40
@@ -414,11 +414,37 @@ class AudioSocketMediaRuntime:
def _base_ack_variants(language: str | None, ack_kind: str) -> tuple[str, ...]: def _base_ack_variants(language: str | None, ack_kind: str) -> tuple[str, ...]:
normalized = str(language or "").strip().lower() normalized = str(language or "").strip().lower()
if normalized == "kz": if normalized == "kz":
return (AudioSocketMediaRuntime._ack_text(language, ack_kind),) if ack_kind == "handoff":
return (
"Жарайды, қосамын.",
"Түсінікті, бір сәт.",
"Қазір ауыстырамын.",
"Жақсы, операторға қосамын.",
)
if ack_kind == "understanding":
return (
"Түсінікті, қазір айтамын.",
"Жарайды, қазір көмектесемін.",
"Ия, қазір қараймын.",
"Жақсы, қазір айтып беремін.",
)
if ack_kind == "clarify":
return (
"Жарайды, қазір нақтылаймын.",
"Түсінікті, бір сәт.",
"Ия, қазір анықтаймын.",
)
return (
"Жарайды.",
"Түсінікті.",
"Бір сәт.",
"Қазір.",
"Ия, тыңдап тұрмын.",
)
if ack_kind == "handoff": if ack_kind == "handoff":
return ( return (
"Угу, секунду.", "Угу, секунду.",
"Понял вас, секунду.", "Понял вас, соединяю.",
"Мхм, соединяю.", "Мхм, соединяю.",
"Хорошо, сейчас соединю.", "Хорошо, сейчас соединю.",
"Да, сейчас соединю.", "Да, сейчас соединю.",
@@ -431,26 +457,28 @@ class AudioSocketMediaRuntime:
"Ага, понял вас.", "Ага, понял вас.",
"Хм, сейчас уточню.", "Хм, сейчас уточню.",
"Хорошо, сейчас подскажу.", "Хорошо, сейчас подскажу.",
"Понял вас, секунду.", "Ясно, сейчас разберусь.",
"Секунду, подскажу.", "Так, минутку.",
"Сейчас разберусь.", "Сейчас разберусь.",
) )
if ack_kind == "clarify": if ack_kind == "clarify":
return ( return (
"Угу, сейчас уточню.", "Угу, сейчас уточню.",
"Мхм, одну секунду.", "Хм, дайте посмотрю.",
"Хорошо, сейчас уточню.", "Хорошо, сейчас уточню.",
"Ага, сейчас сориентирую.", "Ага, сейчас сориентирую.",
"Секунду, уточню детали.", "Так, уточню детали.",
"Дайте уточню.", "Дайте уточню.",
) )
return ( return (
"Мхм, секунду.", "Ага.",
"Секунду.", "Ясно, минутку.",
"Хм, секунду.", "Угу.",
"Хорошо, секунду.", "Хорошо, сейчас.",
"Одну секунду.", "Так, слушаю.",
"Момент.", "Момент.",
"Понял вас.",
"Хм, сейчас гляну.",
) )
def _select_ack_payload( def _select_ack_payload(