File size: 2,239 Bytes
e8bda2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from transformers import T5ForConditionalGeneration, AutoTokenizer
import gradio as gr


model_name = "google/flan-t5-large"

tokenizer = AutoTokenizer.from_pretrained(model_name)

model = T5ForConditionalGeneration.from_pretrained(model_name)


def translate(input_text, src_lang, to_lang):
    prompt = f"Translate {src_lang} to {to_lang}: {input_text}"
    input_ids = tokenizer(prompt, return_tensors="pt").input_ids
    outputs = model.generate(input_ids, max_new_tokens=1000)
    model_translation = tokenizer.decode(outputs[0])
    final_translation = model_translation[5:-4]
    return final_translation


languages = [
    'English', 'Spanish', 'Japanese', 'Persian', 'Hindi', 'French', 'Chinese',
    'Bengali', 'Gujarati', 'German', 'Telugu', 'Italian', 'Arabic', 'Polish',
    'Tamil', 'Marathi', 'Malayalam', 'Oriya', 'Panjabi', 'Portuguese', 'Urdu',
    'Galician', 'Hebrew', 'Korean', 'Catalan', 'Thai', 'Dutch', 'Indonesian',
    'Vietnamese', 'Bulgarian', 'Filipino', 'Central Khmer', 'Lao', 'Turkish',
    'Russian', 'Croatian', 'Swedish', 'Yoruba', 'Kurdish', 'Burmese', 'Malay',
    'Czech', 'Finnish', 'Somali', 'Tagalog', 'Swahili', 'Sinhala', 'Kannada',
    'Zhuang', 'Igbo', 'Xhosa', 'Romanian', 'Haitian', 'Estonian', 'Slovak',
    'Lithuanian', 'Greek', 'Nepali', 'Assamese', 'Norwegian'
]


version = "v-0.0.1"

desc = "<h1><em>tTranslaterR</em> is a translation app powered by AI models capable of translating text between 50+ languages</h1>"
    
translator = gr.Interface(fn=translate,
                          inputs=[gr.Textbox(label="Input Text", placeholder="Input Text To Be Translated"),
                                  gr.Dropdown(label="From",
                                              choices=languages,
                                              value="English",),
                                  gr.Dropdown(label="To",
                                              choices=languages,
                                              value="German")],
                          outputs=gr.Textbox(label="Translation"),
                          title=f"tTranslatorR {version} model {model_name}",
                          description=desc
                          )

translator.launch()