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