import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline import torch from ui import title, description, examples from supported_languages import LANGS #from langs_all import LANGS ##for 200+ languages TASK = "translation" CKPT = "facebook/nllb-200-distilled-1.3B" #CKPT = "facebook/nllb-200-distilled-600M" model = AutoModelForSeq2SeqLM.from_pretrained(CKPT) tokenizer = AutoTokenizer.from_pretrained(CKPT) # device = 0 if torch.cuda.is_available() else -1 def translate(text, src_lang, tgt_lang, max_length=512): """ Translate the text from source lang to target lang """ translation_pipeline = pipeline(TASK, model=model, tokenizer=tokenizer, src_lang=src_lang, tgt_lang=tgt_lang, max_length=max_length) # translation_pipeline = pipeline(TASK, # model=model, # tokenizer=tokenizer, # src_lang=src_lang, # tgt_lang=tgt_lang, # max_length=max_length, # device=device) result = translation_pipeline(text) return result[0]['translation_text'] gr.Interface( translate, [ gr.Textbox(label="Text",placeholder ="Enter Your Text here"), gr.Dropdown(label="Source Language", choices=LANGS.key()), gr.Dropdown(label="Target Language", choices=LANGS.key()), gr.Slider(8, 512, value=512, step=8, label="Max Length") ], ["text"], examples=examples, # article=article, cache_examples=False, title=title, description=description ).launch()