1.2 KiB
1.2 KiB
application/config.py y application/logging_config.py
Propósito
Centralizan configuración (Pydantic Settings) y logging en formato JSON.
Configuración (application/config.py)
Clases
ApiSettings:base_url,api_key,model,request_timeout_s.ImagingSettings:pdf_dpi,pdf_thread_count,tiff_pages, y parámetros judiciales.RetrySettings: reintentos y backoff.AppSettings: agrega las anteriores ycsv_delimiter.
Se expone settings = AppSettings(). Lee variables desde .env (si existe).
Variables de entorno relevantes
EXTRACTOR_BASE_URL,EXTRACTOR_API_KEY,EXTRACTOR_MODEL,EXTRACTOR_TIMEOUT_SPDF_DPI,PDF_THREAD_COUNT,TIFF_PAGESJUDICIAL_FAST_FIND_DPI,JUDICIAL_MAIN_DPI,JUDICIAL_GRAYSCALE,JUDICIAL_VALIDATE_IMAGESRETRY_MAX_ATTEMPTS,RETRY_WAIT_MIN_S,RETRY_WAIT_MAX_SCSV_DELIMITER
Logging (application/logging_config.py)
Configura loggers rotativos unificados:
logs/ips_extractor.log(aplicación),logs/llm.log(normalización),logs/api_calls.log(llamadas a APIs), y consola para WARNING+.
Uso
from application.logging_config import configure_logging
configure_logging()