Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from translation import Translator, LANGUAGES, MODEL_URL | |
| LANGUAGES_LIST = list(LANGUAGES.keys()) | |
| def translate_wrapper(text, src, trg, by_sentence=True, preprocess=True, random=False, num_beams=4): | |
| src_lang = LANGUAGES.get(src) | |
| tgt_lang = LANGUAGES.get(trg) | |
| # if src == trg: | |
| # return 'Please choose two different languages' | |
| result = translator.translate( | |
| text=text, | |
| src_lang=src_lang, | |
| tgt_lang=tgt_lang, | |
| do_sample=random, | |
| num_beams=int(num_beams), | |
| by_sentence=by_sentence, | |
| preprocess=preprocess, | |
| ) | |
| return result | |
| article = f""" | |
| This is the demo for a NLLB-200-600M model fine-tuned for a few (mostly new) languages. | |
| The model itself is available at https://huggingface.co/{MODEL_URL} | |
| If you want to host in on your own backend, consider running this dockerized app: https://github.com/slone-nlp/nllb-docker-demo. | |
| """ | |
| interface = gr.Interface( | |
| translate_wrapper, | |
| [ | |
| gr.Textbox(label="Text", lines=2, placeholder='text to translate '), | |
| gr.Dropdown(LANGUAGES_LIST, type="value", label='source language', value=LANGUAGES_LIST[0]), | |
| gr.Dropdown(LANGUAGES_LIST, type="value", label='target language', value=LANGUAGES_LIST[1]), | |
| gr.Checkbox(label="by sentence", value=True), | |
| gr.Checkbox(label="text preprocesing", value=True), | |
| gr.Checkbox(label="randomize", value=False), | |
| gr.Dropdown([1, 2, 3, 4, 5], label="number of beams", value=4), | |
| ], | |
| "text", | |
| title='Erzya-Russian translation', | |
| article=article, | |
| ) | |
| if __name__ == '__main__': | |
| translator = Translator() | |
| interface.launch() | |