首次提交by MimoCode

This commit is contained in:
tang1219
2026-06-15 14:50:15 +08:00
parent 584b31da50
commit ead13f863c
166 changed files with 14908 additions and 1 deletions
+34
View File
@@ -0,0 +1,34 @@
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()