This commit is contained in:
Magzhan Zhumabayev
2026-05-02 01:36:52 +05:00
parent a690849182
commit 0c1b746e08
2 changed files with 25 additions and 20 deletions
+3 -2
View File
@@ -38,8 +38,8 @@ STT_NAME_CAPTURE_LANGUAGE_CODE=
STT_PROMPT=Это русская речь по телефону. Точно распознавай короткие ответы, имена, фамилии, слова благодарности и прощания. Особое внимание именам: Айнур, Айгерим, Алия, Данияр, Азамат, Арман, Мадина, Нурсултан, Руслан, Асель. Если человек представился одним словом, сохраняй его как имя. Номера телефонов записывай цифрами.
TTS_PROVIDER=elevenlabs
REALTIME_VOICE_INITIAL_GREETING_KK_TEXT=Сәлеметсіз бе! Менің атым Айнұр, мен ДиджиОпс компаниясының эй-ай ассистентімін. Сізге қалай жүгінсем болады және қай тілде сөйлескен ыңғайлы: қазақша ма, орысша ма?
REALTIME_VOICE_INITIAL_GREETING_RU_TEXT=Здравствуйте! Меня зовут Айнур, я эй-ай-ассистент компании ДиджиОпс. Как я могу к вам обращаться и на каком языке вам удобнее продолжить: на казахском или на русском?
REALTIME_VOICE_INITIAL_GREETING_RU_TEXT=Здравствуйте! Меня зовут Айнур, я эй-ай-ассистент компании ДиджиОпс. Как я могу к вам обращаться и на каком языке вам удобнее продолжить: на русском или на казахском?
REALTIME_VOICE_INITIAL_GREETING_KK_TEXT=Сәлеметсіз бе! Менің атым Айнұр, мен ДиджиОпс компаниясының эй-ай ассистентімін. Сізге қалай жүгінсем болады және қай тілде сөйлескен ыңғайлы: орысша ма, қазақша ма?
ENABLE_AUDIO_DUMP=false
AUDIO_DUMP_DIR=debug_audio
@@ -73,6 +73,7 @@ VAD_SPEECH_PAD_MS=180
VAD_MIN_SPEECH_DURATION_MS=0
VAD_USE_ONNX=false
REALTIME_VOICE_INITIAL_GREETING_TEXT=
REALTIME_VOICE_INITIAL_GREETING_USE_SINGLE_TEXT=false
SEMANTIC_ENDPOINTING_HOLD_MS=600
REALTIME_VOICE_FILLER_DELAY_MS=300
REALTIME_VOICE_TTS_CHUNK_SOFT_MIN_CHARS=10
+22 -18
View File
@@ -86,42 +86,46 @@ def _http_port() -> int:
def _initial_greeting_text() -> str:
raw = os.getenv("REALTIME_VOICE_INITIAL_GREETING_TEXT")
if raw is not None and str(raw).strip():
raw = str(os.getenv("REALTIME_VOICE_INITIAL_GREETING_TEXT", "")).strip()
if raw and _single_initial_greeting_enabled():
return str(raw).strip()
return " ".join(text for text, _ in _initial_greeting_segments())
def _single_initial_greeting_enabled() -> bool:
raw = str(os.getenv("REALTIME_VOICE_INITIAL_GREETING_USE_SINGLE_TEXT", "")).strip().lower()
return raw in {"1", "true", "yes", "on"}
def _initial_greeting_segments() -> tuple[tuple[str, str | None], ...]:
raw = os.getenv("REALTIME_VOICE_INITIAL_GREETING_TEXT")
if raw is not None and str(raw).strip():
raw = str(os.getenv("REALTIME_VOICE_INITIAL_GREETING_TEXT", "")).strip()
if raw and _single_initial_greeting_enabled():
language = str(os.getenv("REALTIME_VOICE_INITIAL_GREETING_LANGUAGE_CODE", "")).strip() or None
text = str(raw).strip()
return ((text, language),)
return ((raw, language),)
kk_text = str(
os.getenv(
"REALTIME_VOICE_INITIAL_GREETING_KK_TEXT",
(
"Сәлеметсіз бе! Менің атым Айнұр, мен ДиджиОпс компаниясының эй-ай ассистентімін. "
"Сізге қалай жүгінсем болады және қай тілде сөйлескен ыңғайлы: қазақша ма, орысша ма?"
),
)
).strip()
ru_text = str(
os.getenv(
"REALTIME_VOICE_INITIAL_GREETING_RU_TEXT",
(
"Здравствуйте! Меня зовут Айнур, я эй-ай-ассистент компании ДиджиОпс. "
"Как я могу к вам обращаться и на каком языке вам удобнее продолжить: на казахском или на русском?"
"Как я могу к вам обращаться и на каком языке вам удобнее продолжить: на русском или на казахском?"
),
)
).strip()
kk_text = str(
os.getenv(
"REALTIME_VOICE_INITIAL_GREETING_KK_TEXT",
(
"Сәлеметсіз бе! Менің атым Айнұр, мен ДиджиОпс компаниясының эй-ай ассистентімін. "
"Сізге қалай жүгінсем болады және қай тілде сөйлескен ыңғайлы: орысша ма, қазақша ма?"
),
)
).strip()
segments: list[tuple[str, str | None]] = []
if kk_text:
segments.append((kk_text, "kk"))
if ru_text:
segments.append((ru_text, "ru"))
if kk_text:
segments.append((kk_text, "kk"))
return tuple(segments)