Files
jarvis-models/src/blackbox/blackbox_factory.py
2024-03-28 17:31:42 +08:00

43 lines
1.4 KiB
Python

from .sum import SUM
from .sentiment import Sentiment
from .tts import TTS
from .asr import ASR
from .audio_to_text import AudioToText
from .blackbox import Blackbox
from .calculator import Calculator
from .text_to_audio import TextToAudio
from .tesou import Tesou
class BlackboxFactory:
def __init__(self) -> None:
self.tts = TTS()
self.asr = ASR(".env.yaml")
self.sentiment = Sentiment()
self.sum = SUM()
self.calculator = Calculator()
self.audio_to_text = AudioToText()
self.text_to_audio = TextToAudio()
self.tesou = Tesou()
def __call__(self, *args, **kwargs):
return self.processing(*args, **kwargs)
def create_blackbox(self, blackbox_name: str) -> Blackbox:
if blackbox_name == "audio_to_text":
return self.audio_to_text
if blackbox_name == "text_to_audio":
return self.text_to_audio
if blackbox_name == "calculator":
return self.calculator
if blackbox_name == "asr":
return self.asr
if blackbox_name == "tts":
return self.tts
if blackbox_name == "sentiment_engine":
return self.sentiment
if blackbox_name == "sum":
return self.sum
if blackbox_name == "tesou":
return self.tesou
raise ValueError("Invalid blockbox type")