Spaces:
Runtime error
Runtime error
File size: 3,191 Bytes
95a5ee1 f28142c 95a5ee1 d95d8af 95a5ee1 f57d6cb d95d8af f57d6cb 95a5ee1 e41acb8 3c434c0 e78a989 95a5ee1 bdc8f4b 95a5ee1 16bae1a 14b1706 be3bdac 87667c1 86d654e be3bdac 14b1706 f28142c 0a3a588 f57d6cb 2164c20 f28142c e0ede7e bdc8f4b 154ea2f 3588a89 154ea2f e0ede7e 3588a89 bdc8f4b e0ede7e 3588a89 f28142c bdc8f4b 14b1706 be3bdac 266a47d 78d5868 fe6eb45 78d5868 14b1706 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import gradio as gr
import torch
from huggingface_hub import hf_hub_download
from transformers import pipeline
model_checkpoint_nllb = "facebook/nllb-200-distilled-600M"
model_checkpoint_marian_en = "mbarnig/marianNMT-tatoeba-en-lb"
model_checkpoint_marian_lb = "mbarnig/marianNMT-tatoeba-lb-en"
model_checkpoint_t5_mt5 = "mbarnig/T5-mt5-tatoeba-en-lb"
my_title = "🇬🇧 Mir iwwersetzen vun an op Lëtzebuergesch ! 🇫🇷"
my_description = "English-Luxembourgish machine translation (MT) demo based on 3 open-source transformer models: Facebook-NLLB, Microsoft-MarianNMT & Google-T5/mt5."
my_article = "<h3>User guide</h3><p>1. Press the submit button to translate an english text with the default values. 2. Compare the result with the luxembourgish example. 3. Select a model and a translation direction and enter your own text. Have fun !</p><p>Go to <a href='https://www.web3.lu/'>Internet with a Brain</a> to read my french publication <a href='https://www.web3.lu/'>Das Küsschen und die Sonne stritten sich ...</a> about the history of machine translation in Luxembourg from 1975 until today.</p>"
default_input = "The North Wind and the Sun were disputing which was the stronger, when a traveler came along wrapped in a warm cloak."
TRANSLATION_MODELS = [
"NLLB",
"MarianNMT",
"T5-mt5"
]
TRANSLATION_DIRECTION = [
"en -> lb",
"lb -> en"
]
EXAMPLE = [
["An der Zäit hunn sech den Nordwand an d’Sonn gestridden, wie vun hinnen zwee wuel méi staark wier, wéi e Wanderer, deen an ee waarme Mantel agepak war, iwwert de Wee koum", "NLLB", "lb -> en"]
]
my_inputs = [
gr.Textbox(lines=5, label="Input", value=default_input),
gr.Radio(label="Translation Model", choices = TRANSLATION_MODELS, value = "NLLB"),
gr.Radio(label="Translation Direction", choices = TRANSLATION_DIRECTION, value = "en -> lb")
]
my_output = gr.Textbox(lines=5, label="Translation")
def iwwersetz(source_text, model, direc):
if model == "NLLB":
translator = pipeline("translation", model=model_checkpoint_nllb)
if direc == "en -> lb":
translation = translator(source_text, src_lang="eng_Latn", tgt_lang="ltz_Latn")
else:
translation = translator(source_text, src_lang="ltz_Latn", tgt_lang="eng_Latn")
elif model == "MarianNMT":
if direc == "en -> lb":
translator = pipeline("translation", model=model_checkpoint_marian_en)
translation = translator(source_text)
else:
translator = pipeline("translation", model=model_checkpoint_marian_lb)
translation = translator(source_text)
elif model == "T5-mt5":
translator = pipeline("translation", model=model_checkpoint_t5_mt5)
translation = translator(source_text)
else:
translation = "Please select a Translation Model !"
return translation
demo=gr.Interface(
fn=iwwersetz,
inputs=my_inputs,
outputs=my_output,
title=my_title,
description=my_description,
article=my_article,
examples=EXAMPLE,
allow_flagging=False)
demo.launch() |