Spaces:
Build error
Build error
| import gradio as gr | |
| import yaml | |
| import torch | |
| from mmtafrica import load_params, translate | |
| from huggingface_hub import hf_hub_download | |
| language_map = {'English':'en','Swahili':'sw','Fon':'fon','Igbo':'ig', | |
| 'Kinyarwanda':'rw','Xhosa':'xh','Yoruba':'yo','French':'fr'} | |
| available_languages = list(language_map.keys()) | |
| # Load parameters and model from checkpoint | |
| checkpoint = hf_hub_download(repo_id="chrisjay/mmtafrica", filename="mmt_translation.pt") | |
| device = 'gpu' if torch.cuda.is_available() else 'cpu' | |
| params = load_params({'checkpoint':checkpoint,'device':device}) | |
| def get_translation(source_language,target_language,source_sentence=None): | |
| ''' | |
| This takes a sentence and gets the translation. | |
| ''' | |
| source_language_ = language_map[source_language] | |
| target_language_ = language_map[target_language] | |
| try: | |
| pred = translate(params,source_sentence,source_lang=source_language_,target_lang=target_language_) | |
| if pred=='': | |
| return f"Could not find translation" | |
| else: | |
| return pred | |
| except Exception as error: | |
| return f"Issue with translation: \n {error}" | |
| title = "MMTAfrica: Multilingual Machine Translation" | |
| description = "Enjoy our MMT model that allows you to translate among 6 African languages, English and French!\n\nProfitez de notre modèle MMT qui vous permet de traduire parmi 6 langues africaines, anglais et français!" | |
| iface = gr.Interface(fn=get_translation, | |
| inputs=[gr.inputs.Dropdown(choices = available_languages,default='Igbo'), | |
| gr.inputs.Dropdown(choices = available_languages,default='Fon'), | |
| gr.inputs.Textbox(label="Input")], | |
| outputs=gr.outputs.Textbox(type="auto", label='Translation'), | |
| title=title, | |
| description=description, | |
| enable_queue=True, | |
| theme='huggingface') | |
| iface.launch() |