ultimatepos/Modules/Communication/agent/gemini/config.py

38 lines
972 B
Python

"""Gemini Live Translate agent configuration."""
from __future__ import annotations
import os
GEMINI_MODEL = os.getenv("GEMINI_MODEL", "gemini-2.5-flash-preview-native-audio-dialog-09-2025")
GEMINI_INPUT_SAMPLE_RATE = 16000
GEMINI_OUTPUT_SAMPLE_RATE = 24000
AUDIO_CHANNELS = 1
PARTICIPANT_LANG_ATTR = "lang"
NATIVE_LANG = "none"
RECONCILE_DEBOUNCE_SEC = float(os.getenv("GEMINI_RECONCILE_DEBOUNCE_SEC", "0.25"))
SESSION_GRACE_SEC = float(os.getenv("GEMINI_SESSION_GRACE_SEC", "10.0"))
GEMINI_RECONNECT_BACKOFF_SEC = [0.5, 1.0, 2.0, 4.0, 8.0, 16.0, 30.0]
GEMINI_MAX_FAILURES_BEFORE_LONG_BACKOFF = 5
# Map app language codes to Gemini targetLanguageCode values.
GEMINI_LANG_MAP: dict[str, str] = {
"fa": "fa",
"en": "en",
"ar": "ar",
"de": "de",
"fr": "fr",
"es": "es",
"tr": "tr",
}
def gemini_lang(code: str | None) -> str | None:
if not code or code == NATIVE_LANG:
return None
return GEMINI_LANG_MAP.get(code, code)