import logging from pathlib import Path from typing import Optional def setup_logging(name: str, level: str = "INFO") -> logging.Logger: logger = logging.getLogger(name) logger.setLevel(level) if not logger.handlers: handler = logging.StreamHandler() formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) handler.setFormatter(formatter) logger.addHandler(handler) return logger def ensure_model_path(path: Optional[str] = None) -> Path: if path is None: path = "../models" model_path = Path(path) model_path.mkdir(parents=True, exist_ok=True) return model_path