""" Configuration de TicketTracker. Toutes les valeurs sensibles (clé API) sont lues depuis des variables d'environnement et ne doivent jamais être codées en dur. Variables d'environnement disponibles : TICKETTRACKER_LLM_URL URL de l'endpoint OpenAI-compatible TICKETTRACKER_LLM_MODEL Nom du modèle LLM TICKETTRACKER_LLM_API_KEY Clé API (obligatoire pour Mammouth) TICKETTRACKER_LLM_TIMEOUT Timeout en secondes (défaut : 60) TICKETTRACKER_LLM_BATCH_SIZE Taille des batchs de normalisation (défaut : 20) """ import os from pathlib import Path # --------------------------------------------------------------------------- # Base de données # --------------------------------------------------------------------------- from tickettracker.db.schema import DEFAULT_DB_PATH as _DEFAULT_DB_PATH # Chemin vers la base SQLite (surchargeable par variable d'environnement) DB_PATH: Path = Path(os.environ.get("TICKETTRACKER_DB_PATH", str(_DEFAULT_DB_PATH))) # --------------------------------------------------------------------------- # LLM # --------------------------------------------------------------------------- # URL de l'endpoint compatible OpenAI (Mammouth) LLM_URL: str = os.environ.get( "TICKETTRACKER_LLM_URL", "https://api.mammouth.ai/v1/chat/completions", ) # Modèle à utiliser LLM_MODEL: str = os.environ.get("TICKETTRACKER_LLM_MODEL", "mistral-small-3.2-24b-instruct") # Clé API — jamais de valeur par défaut sensible ici LLM_API_KEY: str = os.environ.get("TICKETTRACKER_LLM_API_KEY", "") # Timeout par appel en secondes (le modèle local peut être lent) LLM_TIMEOUT: int = int(os.environ.get("TICKETTRACKER_LLM_TIMEOUT", "60")) # Nombre d'articles traités par appel LLM LLM_BATCH_SIZE: int = int(os.environ.get("TICKETTRACKER_LLM_BATCH_SIZE", "20"))