Files
YaoXiang/backend/app/ai/manager.py
T
2026-06-15 14:50:15 +08:00

34 lines
1.0 KiB
Python

from typing import Optional
from app.ai.base import VisionProvider, TextProvider
class AIManager:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance._initialized = False
return cls._instance
def __init__(self):
if self._initialized:
return
self.vision_providers: dict[str, VisionProvider] = {}
self.text_providers: dict[str, TextProvider] = {}
self._initialized = True
def register_vision_provider(self, name: str, provider: VisionProvider):
self.vision_providers[name] = provider
def register_text_provider(self, name: str, provider: TextProvider):
self.text_providers[name] = provider
def get_vision_provider(self, name: str) -> Optional[VisionProvider]:
return self.vision_providers.get(name)
def get_text_provider(self, name: str) -> Optional[TextProvider]:
return self.text_providers.get(name)
ai_manager = AIManager()