Snigdhapaul2003 commited on
Commit
60aa0eb
·
verified ·
1 Parent(s): 6742aca

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
+
4
+ languages = {
5
+ 'Afrikaans': 'afr_Latn',
6
+ 'Albanian': 'als_Latn',
7
+ 'Basque': 'eus_Latn',
8
+ 'Belarusian': 'bel_Cyrl',
9
+ 'Bosnian': 'bos_Latn',
10
+ 'Bulgarian': 'bul_Cyrl',
11
+ 'Catalan': 'cat_Latn',
12
+ 'Croatian': 'hrv_Latn',
13
+ 'Czech': 'ces_Latn',
14
+ 'Danish': 'dan_Latn',
15
+ 'Dutch': 'nld_Latn',
16
+ 'English': 'eng_Latn',
17
+ 'Estonian': 'est_Latn',
18
+ 'Finnish': 'fin_Latn',
19
+ 'French': 'fra_Latn',
20
+ 'Galician': 'glg_Latn',
21
+ 'German': 'deu_Latn',
22
+ 'Greek': 'ell_Grek',
23
+ 'Hungarian': 'hun_Latn',
24
+ 'Icelandic': 'isl_Latn',
25
+ 'Irish': 'gle_Latn',
26
+ 'Italian': 'ita_Latn',
27
+ 'Lithuanian': 'lit_Latn',
28
+ 'Luxembourgish': 'ltz_Latn',
29
+ 'Macedonian': 'mkd_Cyrl',
30
+ 'Maltese': 'mlt_Latn',
31
+ 'Norwegian Bokmål': 'nob_Latn',
32
+ 'Norwegian Nynorsk': 'nno_Latn',
33
+ 'Polish': 'pol_Latn',
34
+ 'Portuguese': 'por_Latn',
35
+ 'Romanian': 'ron_Latn',
36
+ 'Russian': 'rus_Cyrl',
37
+ 'Serbian': 'srp_Cyrl',
38
+ 'Slovak': 'slk_Latn',
39
+ 'Slovenian': 'slv_Latn',
40
+ 'Spanish': 'spa_Latn',
41
+ 'Swedish': 'swe_Latn',
42
+ 'Ukrainian': 'ukr_Cyrl',
43
+ 'Welsh': 'cym_Latn'
44
+ }
45
+
46
+ def translate_article(article, language):
47
+ tokenizer = AutoTokenizer.from_pretrained("facebook/nllb-200-distilled-600M")
48
+ model = AutoModelForSeq2SeqLM.from_pretrained("facebook/nllb-200-distilled-600M")
49
+ inputs = tokenizer(article, return_tensors="pt")
50
+ lang_code = languages[language]
51
+ translated_tokens = model.generate(**inputs, forced_bos_token_id=tokenizer.lang_code_to_id[lang_code])
52
+ result = tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0]
53
+ return result
54
+
55
+ language_choices = list(languages.keys())
56
+
57
+ iface = gr.Interface(
58
+ fn=translate_article,
59
+ inputs=["text",gr.Dropdown(
60
+ language_choices, value=["English"], multiselect=False, label="Choose the language.")],
61
+ outputs="text",
62
+ title="Article Translator"
63
+ )
64
+ iface.launch()