feat: inject

This commit is contained in:
Dan Chen
2024-04-26 17:53:28 +08:00
committed by superobk
parent ee17313dbc
commit f76231485c
3 changed files with 33 additions and 27 deletions

View File

@ -9,33 +9,33 @@ from .tesou import Tesou
from .fastchat import Fastchat
from .g2e import G2E
from .text_and_image import TextAndImage
from injector import Injector
from injector import Injector, inject
class BlackboxFactory:
models = {}
def __init__(self) -> None:
injector = Injector()
self.models["audio_to_text"] = AudioToText()
self.models["text_to_audio"] = TextToAudio()
self.models["asr"] = ASR(".env.yaml")
self.models["tts"] = TTS()
self.models["sentiment_engine"] = Sentiment()
self.models["tesou"] = injector.get(Tesou)
self.models["fastchat"] = Fastchat()
self.models["audio_chat"] = AudioChat(self.models["asr"], self.models["tesou"], self.models["tts"])
self.models["g2e"] = G2E()
self.models["text_and_image"] = TextAndImage()
# self.tts = TTS()
# self.asr = ASR(".env.yaml")
# self.sentiment = Sentiment()
# self.audio_to_text = AudioToText()
# self.text_to_audio = TextToAudio()
# self.tesou = injector.get(Tesou)
# self.fastchat = Fastchat()
# self.audio_chat = AudioChat(self.asr, self.tesou, self.tts)
# self.g2e = G2E()
# self.text_and_image = TextAndImage()
@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)