File size: 2,321 Bytes
ee9ed4e
313c8fb
ee9ed4e
313c8fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

def translate(text, language):
    # Load the translation model
    model_name = "trobinmv/t5_translate_en_ru_zh_small_1024"
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
    
    # Add language prefix to the input text
    if language == "English":
        lang_code = "en"
    elif language == "Russian":
        lang_code = "ru"
    elif language == "Chinese":
        lang_code = "zh"
    
    input_text = f"translate to {lang_code}: {text}"
    
    # Generate translation
    try:
        inputs = tokenizer(input_text, return_tensors="np", padding=True)
        outputs = model.generate(**inputs, max_length=100)
        translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
        
        return translated_text
    except Exception as e:
        return f"Error: {e}"
    
def create_translation_ui():
    with gr.Blocks() as demo:
        gr.Markdown("# Translation Tool")
        
        with gr.Row():
            with gr.Column():
                input_label = gr.Label("Enter word or phrase that you want translated")
                input_textbox = gr.Textbox(label="", placeholder="Type your text here...")
                language_label = gr.Label("Choose the language to translate into")
                language_dropdown = gr.Dropdown(
                    choices=["English", "Russian", "Chinese"],
                    label="",
                    value="English"
                )
            with gr.Column():
                output_textbox = gr.Textbox(
                    label="Translation",
                    readonly=True
                )
        
        translate_button = gr.Button("Translate")
        translate_button.click(
            fn=translate,
            inputs=[input_textbox, language_dropdown],
            outputs=output_textbox,
        )
        
        gr.Style(
            button_styles="primary",
            inputademoinput=True,
            outputreadonly=True
        )
    
    return demo

if __name__ == "__main__":
    create_translation_ui().launch()


#import gradio as gr

#gr.load("models/utrobinmv/t5_translate_en_ru_zh_small_1024").launch()

#translate to en:  毒品 强奸