From b474c3560841796aa186fb9354fb73ae1d894fa1 Mon Sep 17 00:00:00 2001 From: didar Date: Fri, 28 Aug 2026 15:12:19 +0500 Subject: [PATCH] feat: enhance acknowledgment responses for Kazakh and Russian languages --- deployment/aimaq.env.production | 8 +-- .../ai_voice_runtime_service/media_runtime.py | 50 +++++++++++++++---- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/deployment/aimaq.env.production b/deployment/aimaq.env.production index df05400..8f0bce8 100644 --- a/deployment/aimaq.env.production +++ b/deployment/aimaq.env.production @@ -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 diff --git a/services/ai_voice_runtime_service/media_runtime.py b/services/ai_voice_runtime_service/media_runtime.py index c8a1974..7a788c6 100644 --- a/services/ai_voice_runtime_service/media_runtime.py +++ b/services/ai_voice_runtime_service/media_runtime.py @@ -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(