# core/config.py from pydantic_settings import BaseSettings, SettingsConfigDict from typing import List, Dict class Settings(BaseSettings): # Carga las variables desde un fichero .env model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8") # --- Configuración de Seguridad --- SECRET_KEY: str ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 # --- Configuración de Google Cloud Document AI --- GCP_PROJECT_ID: str GCP_LOCATION: str DOCAI_PROCESSOR_ID: str # --- Lógica de Negocio (extraída del antiguo config.py) --- REQUIRED_FIELDS: List[str] = [ "supplier_name", "invoice_id", "invoice_date", "total_amount" ] # Umbrales de confianza por campo. Un valor por defecto y anulaciones específicas. CONFIDENCE_THRESHOLDS: Dict[str, float] = { "__default__": 0.85, "supplier_name": 0.90, "total_amount": 0.95 } # Creamos una única instancia global de la configuración settings = Settings()