Files
IPSExtractor/docs/application/config.md
T

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 y csv_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_S
  • PDF_DPI, PDF_THREAD_COUNT, TIFF_PAGES
  • JUDICIAL_FAST_FIND_DPI, JUDICIAL_MAIN_DPI, JUDICIAL_GRAYSCALE, JUDICIAL_VALIDATE_IMAGES
  • RETRY_MAX_ATTEMPTS, RETRY_WAIT_MIN_S, RETRY_WAIT_MAX_S
  • CSV_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()