Translator / transcribe /pipelines /pipe_translate.py
daihui.zhang
change config folder structures
3acb7f3
from .base import MetaItem, BasePipe, Segment
from llama_cpp import Llama
from ..helpers.translator import QwenTranslator
from config import LLM_MODEL_PATH, LLM_SYS_PROMPT_EN, LLM_SYS_PROMPT_ZH, LLM_LARGE_MODEL_PATH, ALL_MARKERS, LLM_SYS_7B_PROMPT_EN, LLM_SYS_7B_PROMPT_ZH
class TranslatePipe(BasePipe):
translator = None
@classmethod
def init(cls):
if cls.translator is None:
cls.translator = QwenTranslator(LLM_MODEL_PATH, LLM_SYS_PROMPT_EN, LLM_SYS_PROMPT_ZH)
def process(self, in_data: MetaItem) -> MetaItem:
context = in_data.transcribe_content
if not context.strip():
result = ""
elif all([ch in ALL_MARKERS for ch in context.strip()]):
result = ""
else:
result = self.translator.translate(
context, src_lang=in_data.source_language, dst_lang=in_data.destination_language)
in_data.translate_content = result
return in_data
class Translate7BPipe(TranslatePipe):
translator = None
@classmethod
def init(cls):
if cls.translator is None:
cls.translator = QwenTranslator(LLM_LARGE_MODEL_PATH, LLM_SYS_7B_PROMPT_EN, LLM_SYS_7B_PROMPT_ZH)