Moleys commited on
Commit
3b1df6c
·
verified ·
1 Parent(s): 6e66e7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -2
app.py CHANGED
@@ -1,6 +1,7 @@
1
  import torch
2
  from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
3
  import gradio as gr
 
4
 
5
  # Load model và tokenizer
6
  model_name = "chi-vi/hirashiba-mt-jp-names"
@@ -9,6 +10,9 @@ device = "cuda" if torch.cuda.is_available() else "cpu"
9
  tokenizer = AutoTokenizer.from_pretrained(model_name)
10
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name).to(device)
11
 
 
 
 
12
  def translate_text(input_text):
13
  lines = input_text.split('\n') # Tách từng dòng
14
  translated_lines = []
@@ -19,15 +23,18 @@ def translate_text(input_text):
19
  translated_lines.append('') # Giữ dòng trống
20
  continue
21
 
 
 
 
22
  # Tokenize input
23
- inputs = tokenizer(raw_text, return_tensors="pt", padding=True, truncation=True).to(device)
24
 
25
  # Dịch với mô hình (không cần tính gradient)
26
  with torch.no_grad():
27
  output_tokens = model.generate(**inputs, max_length=512)
28
 
29
  # Giải mã kết quả và viết hoa chữ đầu
30
- translated_text = tokenizer.decode(output_tokens[0], skip_special_tokens=True).capwords()
31
  translated_lines.append(translated_text)
32
 
33
  return '\n'.join(translated_lines)
 
1
  import torch
2
  from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
3
  import gradio as gr
4
+ import opencc
5
 
6
  # Load model và tokenizer
7
  model_name = "chi-vi/hirashiba-mt-jp-names"
 
10
  tokenizer = AutoTokenizer.from_pretrained(model_name)
11
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name).to(device)
12
 
13
+ # Khởi tạo OpenCC converter
14
+ converter = opencc.OpenCC('t2s') # Chuyển đổi từ Phồn thể sang Giản thể
15
+
16
  def translate_text(input_text):
17
  lines = input_text.split('\n') # Tách từng dòng
18
  translated_lines = []
 
23
  translated_lines.append('') # Giữ dòng trống
24
  continue
25
 
26
+ # Chuyển đổi sang giản thể
27
+ simplified_text = converter.convert(raw_text)
28
+
29
  # Tokenize input
30
+ inputs = tokenizer(simplified_text, return_tensors="pt", padding=True, truncation=True).to(device)
31
 
32
  # Dịch với mô hình (không cần tính gradient)
33
  with torch.no_grad():
34
  output_tokens = model.generate(**inputs, max_length=512)
35
 
36
  # Giải mã kết quả và viết hoa chữ đầu
37
+ translated_text = tokenizer.decode(output_tokens[0], skip_special_tokens=True).capitalize()
38
  translated_lines.append(translated_text)
39
 
40
  return '\n'.join(translated_lines)