from .sum import SUM from .sentiment import Sentiment from .tts import TTS from ..asr.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 from .fastcaht import Fastchat class BlackboxFactor: 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() self.fastchat = Fastchat() 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 if blackbox_name == "fastchat": return self.fastchat raise ValueError("Invalid blockbox type")