from typing import Optional, Any import numpy as np from .base import ModelManagerBase from models.config import ModelConfig class ModelManager(ModelManagerBase): async def load_model(self, config: ModelConfig) -> bool: raise NotImplementedError async def unload_model(self, model_name: str) -> bool: raise NotImplementedError async def get_model(self, model_name: str) -> Optional[Any]: raise NotImplementedError async def run_inference( self, model_name: str, inputs: dict[str, np.ndarray] ) -> dict[str, np.ndarray]: raise NotImplementedError async def warmup_model( self, model_name: str, iterations: int = 3 ) -> bool: raise NotImplementedError async def get_loaded_models(self) -> list[str]: raise NotImplementedError async def get_model_info(self, model_name: str) -> Optional[dict]: raise NotImplementedError