35 lines
1.0 KiB
Python
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()
|