from models.trocr import TrOCROCR # Lazy-loaded registry (important for big models) _MODEL_CACHE = {} def get_model(model_name: str): if model_name not in _MODEL_CACHE: if model_name == "trocr": _MODEL_CACHE[model_name] = TrOCROCR() else: raise ValueError(f"Unknown model: {model_name}") return _MODEL_CACHE[model_name] def run_ocr(image, model_name="trocr"): model = get_model(model_name) return model.predict(image)