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_AUDIO_FORMAT=pcm_16000
AI_VOICE_ASR_ELEVENLABS_REALTIME_COMMIT_STRATEGY=vad
AI_VOICE_ASR_ELEVENLABS_REALTIME_DEBUG_DUMP_AUDIO=1
AI_VOICE_ASR_ELEVENLABS_REALTIME_FINALIZE_TIMEOUT_SECONDS=2.5
AI_VOICE_ASR_ELEVENLABS_REALTIME_DEBUG_DUMP_AUDIO=0
AI_VOICE_ASR_ELEVENLABS_REALTIME_FINALIZE_TIMEOUT_SECONDS=1.5
AI_VOICE_ASR_YANDEX_API_KEY=AQWJe16Rdlx_peHUppZ79csG49f1gP4wwQyDzeQ_
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_BASE=https://api.elevenlabs.io
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_KK_VOICE_ID=NhY0kyTmsKuEpHvDMngm
AI_VOICE_TTS_ELEVENLABS_KK_VOICE_ID=t6lBrEl93uCiLR1Lgm8v
AI_VOICE_TTS_ELEVENLABS_KK_LANGUAGE_CODE=kk
AI_VOICE_TTS_ELEVENLABS_OUTPUT_FORMAT=pcm_16000
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, ...]:
normalized = str(language or "").strip().lower()
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":
return (
"Угу, секунду.",
"Понял вас, секунду.",
"Понял вас, соединяю.",
"Мхм, соединяю.",
"Хорошо, сейчас соединю.",
"Да, сейчас соединю.",
@@ -431,26 +457,28 @@ class AudioSocketMediaRuntime:
"Ага, понял вас.",
"Хм, сейчас уточню.",
"Хорошо, сейчас подскажу.",
"Понял вас, секунду.",
"Секунду, подскажу.",
"Ясно, сейчас разберусь.",
"Так, минутку.",
"Сейчас разберусь.",
)
if ack_kind == "clarify":
return (
"Угу, сейчас уточню.",
"Мхм, одну секунду.",
"Хм, дайте посмотрю.",
"Хорошо, сейчас уточню.",
"Ага, сейчас сориентирую.",
"Секунду, уточню детали.",
"Так, уточню детали.",
"Дайте уточню.",
)
return (
"Мхм, секунду.",
"Секунду.",
"Хм, секунду.",
"Хорошо, секунду.",
"Одну секунду.",
"Ага.",
"Ясно, минутку.",
"Угу.",
"Хорошо, сейчас.",
"Так, слушаю.",
"Момент.",
"Понял вас.",
"Хм, сейчас гляну.",
)
def _select_ack_payload(