Spaces:
Runtime error
Runtime error
Commit
·
8183435
1
Parent(s):
8030aed
Create new file
Browse files
app.py
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
INDIC = {
|
2 |
+
"Hindi":"hin_Deva",
|
3 |
+
"English":"eng_Latn",
|
4 |
+
"Kannada": "kan_Knda",
|
5 |
+
"Tamil":"tam_Taml",
|
6 |
+
"Bengali":"ben_Beng",
|
7 |
+
"Nepali" : "npi_Deva",
|
8 |
+
"Telugu":"tel_Telu",
|
9 |
+
"Gujarati":"guj_Gujr",
|
10 |
+
"Marathi":"mar_Deva",
|
11 |
+
"Odia":"ory_Orya",
|
12 |
+
"Sanskrit":"san_Deva",
|
13 |
+
"Maithili":"mai_Deva",
|
14 |
+
"Urdu":"urd_Arab",
|
15 |
+
"Punjabi" : "pan_Guru",
|
16 |
+
"Malayalam" :"mal_Mlym",
|
17 |
+
"Assamese" : "asm_Beng"
|
18 |
+
}
|
19 |
+
|
20 |
+
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
|
21 |
+
|
22 |
+
model_name='facebook/nllb-200-distilled-600M'
|
23 |
+
|
24 |
+
model=AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
25 |
+
tokenizer=AutoTokenizer.from_pretrained(model_name)
|
26 |
+
|
27 |
+
|
28 |
+
|
29 |
+
|
30 |
+
def translate(text, src_lang, tgt_lang):
|
31 |
+
translator=pipeline('translation', model=model, tokenizer=tokenizer, src_lang=INDIC[src_lang], tgt_lang=INDIC[tgt_lang], max_length=200)
|
32 |
+
return translator(text)
|
33 |
+
|
34 |
+
|
35 |
+
|
36 |
+
languages = list(INDIC.keys())
|
37 |
+
|
38 |
+
iddwn = grd.inputs.Dropdown(languages, type="value", default="English", label="Select Source Language")
|
39 |
+
oddwn = grd.inputs.Dropdown(languages, type="value", default="Hindi", label="Select Target Language")
|
40 |
+
|
41 |
+
txt = grd.inputs.Textbox( lines=5, placeholder="Enter Text to translate", default="", label="Enter Text in Source Language")
|
42 |
+
txt_ouptut = grd.outputs.Textbox(type="auto", label="Translated text in Target Language")
|
43 |
+
|
44 |
+
example=[['I want to translate this sentence in Hindi','English','Hindi'],
|
45 |
+
['I am feeling very good today.', 'English','Bengali']]
|
46 |
+
|
47 |
+
supp = ', '.join(languages)
|
48 |
+
iface = grd.Interface(fn=translate, inputs=[txt,ddwn] , outputs=txt_ouptut, title='Translation for 15 Indic Languages', description = 'This is a demo based on NLLB by Meta. Supported: '+supp, article = 'Original repo [link](https://github.com/AI4Bharat/indicTrans) by AI4Bharat. <b>Note: This space can only perform translation from English to Indic languages. Support for other combinations will be provided soon.', examples=example)
|
49 |
+
iface.launch(enable_queue=True)
|