File size: 1,229 Bytes
485d8e3
 
 
c0447ed
3acb7f3
485d8e3
6f13b8c
485d8e3
 
7f191bc
485d8e3
 
 
2aed46a
7f191bc
485d8e3
 
 
65a4e8d
 
 
ce0e589
 
 
 
485d8e3
 
 
2aed46a
 
 
 
 
 
 
3acb7f3
2aed46a
31ad35a
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

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)