diff --git a/.env.example b/.env.example index 9f5da77..153ac9a 100644 --- a/.env.example +++ b/.env.example @@ -9,7 +9,7 @@ LLM_PROVIDER=openai OPENAI_API_KEY= OPENAI_BASE_URL= OPENAI_LLM_MODEL=gpt-4o-mini -OPENAI_LLM_SYSTEM_PROMPT=You are a concise voice assistant for a telecom call center. Answer clearly and briefly. +OPENAI_LLM_SYSTEM_PROMPT=You are a concise voice assistant for the DigiOps contact center. Answer clearly and briefly. OPENAI_TIMEOUT_SECONDS=30 OPENAI_STT_MODEL=whisper-1 OPENAI_STT_LANGUAGE=ru @@ -54,8 +54,9 @@ YANDEX_STT_TOPIC=general VAD_THRESHOLD=0.5 VAD_NEGATIVE_THRESHOLD= -VAD_SILENCE_TIMEOUT_MS=550 +VAD_SILENCE_TIMEOUT_MS=350 VAD_SPEECH_PAD_MS=64 VAD_MIN_SPEECH_DURATION_MS=0 VAD_USE_ONNX=false REALTIME_VOICE_INITIAL_GREETING_TEXT=Здравствуйте! Меня зовут Айнур, я эй-ай-ассистент компании ДиджиОпс. Как я могу к вам обращаться? +SEMANTIC_ENDPOINTING_HOLD_MS=600 diff --git a/core/session.py b/core/session.py index d8e1030..73ed031 100644 --- a/core/session.py +++ b/core/session.py @@ -21,7 +21,16 @@ from realtime_voice_service.transports.base import BaseMediaTransport LOGGER = logging.getLogger("uvicorn.error") -SEMANTIC_ENDPOINTING_HOLD_MS = 1000 +def _semantic_hold_ms() -> int: + raw = str(os.getenv("SEMANTIC_ENDPOINTING_HOLD_MS", "700")).strip() + try: + value = int(float(raw)) + except Exception: + value = 700 + return max(200, min(value, 2000)) + + +SEMANTIC_ENDPOINTING_HOLD_MS = _semantic_hold_ms() SEMANTIC_CONTINUATION_TOKENS = { "а", "в",