Spaces:
Paused
Paused
| """Model loading with mock/real switching based on environment.""" | |
| from typing import Union | |
| from config.settings import settings | |
| # Type alias for model stack | |
| ModelStack = Union["MockModelStack", "RealModelStack"] # noqa: F821 | |
| # Lazy singleton | |
| _model_stack: ModelStack | None = None | |
| def get_model_stack() -> ModelStack: | |
| """Get model stack based on environment configuration.""" | |
| if settings.mock_models: | |
| from models.mock import MockModelStack | |
| return MockModelStack().load_all() | |
| else: | |
| from models.real import RealModelStack | |
| return RealModelStack().load_all() | |
| def get_models() -> ModelStack: | |
| """Get or create the singleton model stack.""" | |
| global _model_stack | |
| if _model_stack is None: | |
| _model_stack = get_model_stack() | |
| return _model_stack | |
| def reset_models() -> None: | |
| """Reset the model stack (useful for testing).""" | |
| global _model_stack | |
| _model_stack = None | |