Jay4769 commited on
Commit
f91d2dd
·
verified ·
1 Parent(s): c3a0414

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -18
app.py CHANGED
@@ -1,31 +1,68 @@
1
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
2
  import gradio as gr
3
 
4
- model_name = "Helsinki-NLP/opus-mt-ru-vi"
 
 
 
5
 
6
- tokenizer = AutoTokenizer.from_pretrained(model_name)
7
- model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
 
 
8
 
9
- def translate(text):
10
- inputs = tokenizer(text, return_tensors="pt")
 
11
 
12
- outputs = model.generate(**inputs)
 
 
 
 
 
 
 
13
 
14
- translated = tokenizer.decode(
15
  outputs[0],
16
  skip_special_tokens=True
17
  )
18
 
19
- return translated
20
-
21
- iface = gr.Interface(
22
- fn=translate,
23
- inputs=gr.Textbox(
24
- lines=2,
25
- placeholder="Nhập tiếng Nga..."
26
- ),
27
- outputs="text",
28
- title="Nga → Việt"
29
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  iface.launch(server_name="0.0.0.0")
 
1
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
2
  import gradio as gr
3
 
4
+ # RU -> VI
5
+ ruvi_model_name = "Helsinki-NLP/opus-mt-ru-vi"
6
+ ruvi_tokenizer = AutoTokenizer.from_pretrained(ruvi_model_name)
7
+ ruvi_model = AutoModelForSeq2SeqLM.from_pretrained(ruvi_model_name)
8
 
9
+ # VI -> RU
10
+ viru_model_name = "Helsinki-NLP/opus-mt-vi-ru"
11
+ viru_tokenizer = AutoTokenizer.from_pretrained(viru_model_name)
12
+ viru_model = AutoModelForSeq2SeqLM.from_pretrained(viru_model_name)
13
 
14
+ def ru_to_vi(text):
15
+ inputs = ruvi_tokenizer(text, return_tensors="pt")
16
+ outputs = ruvi_model.generate(**inputs)
17
 
18
+ return ruvi_tokenizer.decode(
19
+ outputs[0],
20
+ skip_special_tokens=True
21
+ )
22
+
23
+ def vi_to_ru(text):
24
+ inputs = viru_tokenizer(text, return_tensors="pt")
25
+ outputs = viru_model.generate(**inputs)
26
 
27
+ return viru_tokenizer.decode(
28
  outputs[0],
29
  skip_special_tokens=True
30
  )
31
 
32
+ with gr.Blocks() as iface:
33
+
34
+ gr.Markdown("# 🇷🇺⇄🇻🇳 Russian ↔ Vietnamese")
35
+
36
+ with gr.Tab("🇷🇺 Nga → Việt"):
37
+ input_ru = gr.Textbox(
38
+ lines=2,
39
+ placeholder="Nhập tiếng Nga..."
40
+ )
41
+
42
+ output_vi = gr.Textbox()
43
+
44
+ btn1 = gr.Button("Translate")
45
+
46
+ btn1.click(
47
+ ru_to_vi,
48
+ inputs=input_ru,
49
+ outputs=output_vi
50
+ )
51
+
52
+ with gr.Tab("🇻🇳 Việt → Nga"):
53
+ input_vi = gr.Textbox(
54
+ lines=2,
55
+ placeholder="Nhập tiếng Việt..."
56
+ )
57
+
58
+ output_ru = gr.Textbox()
59
+
60
+ btn2 = gr.Button("Translate")
61
+
62
+ btn2.click(
63
+ vi_to_ru,
64
+ inputs=input_vi,
65
+ outputs=output_ru
66
+ )
67
 
68
  iface.launch(server_name="0.0.0.0")