mirror of
https://github.com/BoardWare-Genius/jarvis-models.git
synced 2025-12-13 16:53:24 +00:00
48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
from .audio_chat import AudioChat
|
|
from .sentiment import Sentiment
|
|
from .tts import TTS
|
|
from .asr import ASR
|
|
from .audio_to_text import AudioToText
|
|
from .blackbox import Blackbox
|
|
from .text_to_audio import TextToAudio
|
|
from .tesou import Tesou
|
|
from .fastchat import Fastchat
|
|
from .g2e import G2E
|
|
from .text_and_image import TextAndImage
|
|
from injector import inject, singleton
|
|
|
|
@singleton
|
|
class BlackboxFactory:
|
|
models = {}
|
|
|
|
@inject
|
|
def __init__(self,
|
|
audio_to_text: AudioToText,
|
|
text_to_audio: TextToAudio,
|
|
asr: ASR,
|
|
tts: TTS,
|
|
sentiment_engine: Sentiment,
|
|
tesou: Tesou,
|
|
fastchat: Fastchat,
|
|
audio_chat: AudioChat,
|
|
g2e: G2E,
|
|
text_and_image:TextAndImage ) -> None:
|
|
self.models["audio_to_text"] = audio_to_text
|
|
self.models["text_to_audio"] = text_to_audio
|
|
self.models["asr"] = asr
|
|
self.models["tts"] = tts
|
|
self.models["sentiment_engine"] = sentiment_engine
|
|
self.models["tesou"] = tesou
|
|
self.models["fastchat"] = fastchat
|
|
self.models["audio_chat"] = audio_chat
|
|
self.models["g2e"] = g2e
|
|
self.models["text_and_image"] = text_and_image
|
|
|
|
def __call__(self, *args, **kwargs):
|
|
return self.processing(*args, **kwargs)
|
|
|
|
def call_blackbox(self, blackbox_name: str) -> Blackbox:
|
|
model = self.models.get(blackbox_name)
|
|
if model is None:
|
|
raise ValueError("Invalid blockbox type")
|
|
return model |