"""Configuration du STT-server — via variables d'environnement (12-factor / k8s).""" from __future__ import annotations import os class Settings: # LiteLLM (s01) — joint en IP directe depuis le cluster (cf. open-webui). litellm_url: str = os.getenv( "STT_LITELLM_URL", "http://192.168.10.1:4000/v1/chat/completions" ) litellm_key: str = os.getenv("STT_LITELLM_KEY", "lm-studio") # Modèle par défaut + alias LiteLLM autorisés (le client peut en demander un par requête) model: str = os.getenv("STT_MODEL", "hermes-default") allowed_models: list[str] = [ m.strip() for m in os.getenv( "STT_ALLOWED_MODELS", "hermes-default,qwen3-8b,claude-sonnet-4-6,claude-opus-4-7", ).split(",") if m.strip() ] system_prompt: str = os.getenv( "STT_SYSTEM_PROMPT", "Tu es Hermes, l'assistant vocal du homelab Funk. " "Réponds toujours en français, de façon concise (2-3 phrases maximum), " "sans markdown ni listes.", ) max_tokens: int = int(os.getenv("STT_MAX_TOKENS", "200")) temperature: float = float(os.getenv("STT_TEMPERATURE", "0.7")) request_timeout: float = float(os.getenv("STT_REQUEST_TIMEOUT", "60")) settings = Settings()