Spaces:
Sleeping
Sleeping
Commit ·
e8bda2c
1
Parent(s): 1c95e83
Create app.py
Browse files
app.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from transformers import T5ForConditionalGeneration, AutoTokenizer
|
| 2 |
+
import gradio as gr
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
model_name = "google/flan-t5-large"
|
| 6 |
+
|
| 7 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 8 |
+
|
| 9 |
+
model = T5ForConditionalGeneration.from_pretrained(model_name)
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
def translate(input_text, src_lang, to_lang):
|
| 13 |
+
prompt = f"Translate {src_lang} to {to_lang}: {input_text}"
|
| 14 |
+
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
|
| 15 |
+
outputs = model.generate(input_ids, max_new_tokens=1000)
|
| 16 |
+
model_translation = tokenizer.decode(outputs[0])
|
| 17 |
+
final_translation = model_translation[5:-4]
|
| 18 |
+
return final_translation
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
languages = [
|
| 22 |
+
'English', 'Spanish', 'Japanese', 'Persian', 'Hindi', 'French', 'Chinese',
|
| 23 |
+
'Bengali', 'Gujarati', 'German', 'Telugu', 'Italian', 'Arabic', 'Polish',
|
| 24 |
+
'Tamil', 'Marathi', 'Malayalam', 'Oriya', 'Panjabi', 'Portuguese', 'Urdu',
|
| 25 |
+
'Galician', 'Hebrew', 'Korean', 'Catalan', 'Thai', 'Dutch', 'Indonesian',
|
| 26 |
+
'Vietnamese', 'Bulgarian', 'Filipino', 'Central Khmer', 'Lao', 'Turkish',
|
| 27 |
+
'Russian', 'Croatian', 'Swedish', 'Yoruba', 'Kurdish', 'Burmese', 'Malay',
|
| 28 |
+
'Czech', 'Finnish', 'Somali', 'Tagalog', 'Swahili', 'Sinhala', 'Kannada',
|
| 29 |
+
'Zhuang', 'Igbo', 'Xhosa', 'Romanian', 'Haitian', 'Estonian', 'Slovak',
|
| 30 |
+
'Lithuanian', 'Greek', 'Nepali', 'Assamese', 'Norwegian'
|
| 31 |
+
]
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
version = "v-0.0.1"
|
| 35 |
+
|
| 36 |
+
desc = "<h1><em>tTranslaterR</em> is a translation app powered by AI models capable of translating text between 50+ languages</h1>"
|
| 37 |
+
|
| 38 |
+
translator = gr.Interface(fn=translate,
|
| 39 |
+
inputs=[gr.Textbox(label="Input Text", placeholder="Input Text To Be Translated"),
|
| 40 |
+
gr.Dropdown(label="From",
|
| 41 |
+
choices=languages,
|
| 42 |
+
value="English",),
|
| 43 |
+
gr.Dropdown(label="To",
|
| 44 |
+
choices=languages,
|
| 45 |
+
value="German")],
|
| 46 |
+
outputs=gr.Textbox(label="Translation"),
|
| 47 |
+
title=f"tTranslatorR {version} model {model_name}",
|
| 48 |
+
description=desc
|
| 49 |
+
)
|
| 50 |
+
|
| 51 |
+
translator.launch()
|