from multilingual_translation import text_to_text_generation from utils import lang_ids, data_scraping import gradio as gr lang_list = list(lang_ids.keys()) model_list = data_scraping() def multilingual_translate( prompt: str, model_id: str, target_lang: str ): return text_to_text_generation( prompt=prompt, model_id=model_id, device='cpu', target_lang=lang_ids[target_lang] ) inputs = [ gr.Textbox(lines=4, value="Hello world!", label="Input Text"), gr.Dropdown(model_list, value="facebook/m2m100_418M", label="Model"), gr.Dropdown(lang_list, value="Turkish", label="Target Language"), ] output = gr.outputs.Textbox(label="Output Text") examples = [ [ "Hello world!", "facebook/m2m100_418M", "Turkish", ], [ "Omar ve Merve çok iyi arkadaşlar.", "facebook/m2m100_418M", "Spanish", ], [ "Hugging Face is a great company.", "facebook/m2m100_418M", "French", ] ] title = "Beyond English-Centric Multilingual Machine Translation" description = "M2M100 is a multilingual encoder-decoder (seq-to-seq) model trained for Many-to-Many multilingual translation. It was introduced in this [paper](https://arxiv.org/abs/2010.11125) and first released in [this](https://github.com/pytorch/fairseq/tree/master/examples/m2m_100) repository." app = gr.Interface( fn=multilingual_translate, inputs=inputs, outputs=output, examples=examples, title=title, description=description, cache_examples=True ) app.launch(debug=True, enable_queue=True)