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")