Spaces:
Runtime error
Runtime error
INDIC = { | |
"Hindi":"hin_Deva", | |
"English":"eng_Latn", | |
"Kannada": "kan_Knda", | |
"Tamil":"tam_Taml", | |
"Bengali":"ben_Beng", | |
"Nepali" : "npi_Deva", | |
"Telugu":"tel_Telu", | |
"Gujarati":"guj_Gujr", | |
"Marathi":"mar_Deva", | |
"Odia":"ory_Orya", | |
"Sanskrit":"san_Deva", | |
"Maithili":"mai_Deva", | |
"Urdu":"urd_Arab", | |
"Punjabi" : "pan_Guru", | |
"Malayalam" :"mal_Mlym", | |
"Assamese" : "asm_Beng" | |
} | |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline | |
import gradio as grd | |
model_name='facebook/nllb-200-distilled-600M' | |
model=AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
tokenizer=AutoTokenizer.from_pretrained(model_name) | |
def translate(text, src_lang, tgt_lang): | |
translator=pipeline('translation', model=model, tokenizer=tokenizer, src_lang=INDIC[src_lang], tgt_lang=INDIC[tgt_lang], max_length=200) | |
return translator(text)[0]['translation_text'] | |
languages = list(INDIC.keys()) | |
iddwn = grd.inputs.Dropdown(languages, type="value", default="English", label="Select Source Language") | |
oddwn = grd.inputs.Dropdown(languages, type="value", default="Hindi", label="Select Target Language") | |
txt = grd.inputs.Textbox( lines=5, placeholder="Enter Text to translate", default="", label="Enter Text in Source Language") | |
txt_ouptut = grd.outputs.Textbox(type="auto", label="Translated text in Target Language") | |
example=[['I want to translate this sentence in Hindi','English','Hindi'], | |
['I am feeling very good today.', 'English','Bengali']] | |
supp = ', '.join(languages) | |
iface = grd.Interface(fn=translate, inputs=[txt,iddwn, oddwn] , | |
outputs=txt_ouptut, title='Translation for 15 Indic Languages', css="footer {visibility: hidden}", | |
description = 'This is a demo based on NLLB by Meta. Supported: '+supp, | |
article = 'Original repo [link](https://github.com/facebookresearch/fairseq/tree/nllb) by MetaAI. Contact @harveenchadha at Twitter for any issues.', | |
examples=example) | |
iface.launch(enable_queue=True) |