mirror of
https://github.com/BoardWare-Genius/jarvis-models.git
synced 2025-12-13 16:53:24 +00:00
feat: inject
This commit is contained in:
@ -10,8 +10,8 @@ from .blackbox import Blackbox
|
||||
|
||||
class ASR(Blackbox):
|
||||
|
||||
def __init__(self, *args, **kwargs) -> None:
|
||||
config = read_yaml(args[0])
|
||||
def __init__(self, path = ".env.yaml") -> None:
|
||||
config = read_yaml(path)
|
||||
self.paraformer = RapidParaformer(config)
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
|
||||
@ -1,11 +1,17 @@
|
||||
from fastapi import Request, Response,status
|
||||
from fastapi.responses import JSONResponse
|
||||
from injector import inject
|
||||
|
||||
from blackbox.asr import ASR
|
||||
from blackbox.tesou import Tesou
|
||||
from blackbox.tts import TTS
|
||||
|
||||
from .blackbox import Blackbox
|
||||
|
||||
class AudioChat(Blackbox):
|
||||
|
||||
def __init__(self, asr, gpt, tts):
|
||||
@inject
|
||||
def __init__(self, asr: ASR, gpt: Tesou, tts: TTS):
|
||||
self.asr = asr
|
||||
self.gpt = gpt
|
||||
self.tts = tts
|
||||
|
||||
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user