invoice-processing-google-d.../core/config.py
2025-08-26 12:26:03 +02:00

35 lines
1.0 KiB
Python

# 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()