Naru61 commited on
Commit
d4d0b65
·
verified ·
1 Parent(s): da4bc7e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -13
app.py CHANGED
@@ -1,6 +1,6 @@
1
  import os
2
  import gradio as gr
3
- from transformers import MarianMTModel, MarianTokenizer, AutoTokenizer, AutoModelForSeq2SeqLM
4
 
5
  # Отключение HF_HUB_ENABLE_HF_TRANSFER
6
  os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "false"
@@ -10,10 +10,10 @@ model_name_ka_ru = 'Helsinki-NLP/opus-mt-ka-ru'
10
  tokenizer_ka_ru = MarianTokenizer.from_pretrained(model_name_ka_ru, token=True)
11
  model_ka_ru = MarianMTModel.from_pretrained(model_name_ka_ru, token=True)
12
 
13
- # Модель для перевода с русского на грузинский (NLLB)
14
- model_name_ru_ka = "facebook/nllb-200-distilled-600M"
15
- tokenizer_ru_ka = AutoTokenizer.from_pretrained(model_name_ru_ka, token=True)
16
- model_ru_ka = AutoModelForSeq2SeqLM.from_pretrained(model_name_ru_ka, token=True)
17
 
18
  def translate(text, direction):
19
  if direction == "Грузинский -> Русский":
@@ -22,17 +22,17 @@ def translate(text, direction):
22
  translated = model_ka_ru.generate(**inputs)
23
  translated_text = tokenizer_ka_ru.decode(translated[0], skip_special_tokens=True)
24
  else:
25
- # Перевод с русского на грузинский (NLLB)
26
- tokenizer_ru_ka.src_lang = "rus_Cyrl" # Установка исходного языка на русский
27
- target_lang_token_id = tokenizer_ru_ka.convert_tokens_to_ids(">>kau_KZ<<") # Целевой язык: грузинский
28
 
29
  try:
30
  inputs = tokenizer_ru_ka(text, return_tensors="pt", padding=True, truncation=True)
31
  translated_tokens = model_ru_ka.generate(
32
  **inputs,
33
- forced_bos_token_id=target_lang_token_id, # Правильный идентификатор грузинского языка
34
- max_length=100, # Уменьшение длины для ускорения
35
- num_beams=2, # Уменьшение лучей для увеличения скорости
36
  early_stopping=True
37
  )
38
  translated_text = tokenizer_ru_ka.decode(translated_tokens[0], skip_special_tokens=True)
@@ -50,8 +50,8 @@ iface = gr.Interface(
50
  gr.Radio(["Грузинский -> Русский", "Русский -> Грузинский"], label="Выберите направление")
51
  ],
52
  outputs="text",
53
- title="Русско-Грузинский Переводчик (Helsinki-NLP и NLLB, оптимизирован)",
54
- description="Перевод с использованием модели Helsinki-NLP и NLLB"
55
  )
56
 
57
  iface.launch()
@@ -80,5 +80,6 @@ iface.launch()
80
 
81
 
82
 
 
83
 
84
 
 
1
  import os
2
  import gradio as gr
3
+ from transformers import MarianMTModel, MarianTokenizer, M2M100ForConditionalGeneration, M2M100Tokenizer
4
 
5
  # Отключение HF_HUB_ENABLE_HF_TRANSFER
6
  os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "false"
 
10
  tokenizer_ka_ru = MarianTokenizer.from_pretrained(model_name_ka_ru, token=True)
11
  model_ka_ru = MarianMTModel.from_pretrained(model_name_ka_ru, token=True)
12
 
13
+ # Модель для перевода с русского на грузинский (M2M100)
14
+ model_name_ru_ka = "facebook/m2m100_1.2B"
15
+ tokenizer_ru_ka = M2M100Tokenizer.from_pretrained(model_name_ru_ka, token=True)
16
+ model_ru_ka = M2M100ForConditionalGeneration.from_pretrained(model_name_ru_ka, token=True)
17
 
18
  def translate(text, direction):
19
  if direction == "Грузинский -> Русский":
 
22
  translated = model_ka_ru.generate(**inputs)
23
  translated_text = tokenizer_ka_ru.decode(translated[0], skip_special_tokens=True)
24
  else:
25
+ # Перевод с русского на грузинский (M2M100)
26
+ tokenizer_ru_ka.src_lang = "ru" # Установка исходного языка на русский
27
+ target_lang = "ka" # Целевой язык: грузинский
28
 
29
  try:
30
  inputs = tokenizer_ru_ka(text, return_tensors="pt", padding=True, truncation=True)
31
  translated_tokens = model_ru_ka.generate(
32
  **inputs,
33
+ forced_bos_token_id=tokenizer_ru_ka.get_lang_id(target_lang), # Установка целевого языка
34
+ max_length=200,
35
+ num_beams=4, # Оптимальное количество лучей для M2M100
36
  early_stopping=True
37
  )
38
  translated_text = tokenizer_ru_ka.decode(translated_tokens[0], skip_special_tokens=True)
 
50
  gr.Radio(["Грузинский -> Русский", "Русский -> Грузинский"], label="Выберите направление")
51
  ],
52
  outputs="text",
53
+ title="Русско-Грузинский Переводчик (Helsinki-NLP и M2M100, оптимизированный)",
54
+ description="Перевод с использованием проверенных моделей Helsinki-NLP и M2M100"
55
  )
56
 
57
  iface.launch()
 
80
 
81
 
82
 
83
+
84
 
85