bto00 commited on
Commit
5bee2e1
·
1 Parent(s): e0944bb

Add application file

Browse files
Files changed (1) hide show
  1. app.py +16 -19
app.py CHANGED
@@ -1,22 +1,12 @@
1
  import streamlit as st
2
- from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
3
 
4
- # Загружаем модель и токенизатор
5
- model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50-many-to-many-mmt")
6
- tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50-many-to-many-mmt")
7
-
8
- # Функция перевода
9
- def translate_text(text, src_lang, tgt_lang):
10
- tokenizer.src_lang = src_lang
11
- encoded = tokenizer(text, return_tensors="pt")
12
- generated_tokens = model.generate(
13
- **encoded,
14
- forced_bos_token_id=tokenizer.lang_code_to_id[tgt_lang]
15
- )
16
- return tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
17
 
18
  # Название и описание
19
- st.title("Переводчик MBart")
20
  st.write("Перевод между русским и английским языками.")
21
 
22
  # Ввод текста и выбор языков
@@ -34,10 +24,17 @@ tgt_lang = st.selectbox("Выберите целевой язык:", list(langua
34
  # Перевод при нажатии кнопки
35
  if st.button("Перевести"):
36
  if tgt_lang == src_lang:
37
- st.write("Выберите только другой язык")
38
  elif input_text.strip():
39
- translation = translate_text(input_text, language_options[src_lang], language_options[tgt_lang])
40
- st.write(f"Перевод с {src_lang} на {tgt_lang}:")
41
- st.write(translation[0])
 
 
 
 
 
 
 
42
  else:
43
  st.write("Пожалуйста, введите текст для перевода.")
 
1
  import streamlit as st
2
+ from transformers import pipeline
3
 
4
+ # Модели для перевода
5
+ ru_en_translator = pipeline('translation_ru_to_en', model='Helsinki-NLP/opus-mt-ru-en')
6
+ en_ru_translator = pipeline('translation_en_to_ru', model='Helsinki-NLP/opus-mt-en-ru')
 
 
 
 
 
 
 
 
 
 
7
 
8
  # Название и описание
9
+ st.title("Переводчик")
10
  st.write("Перевод между русским и английским языками.")
11
 
12
  # Ввод текста и выбор языков
 
24
  # Перевод при нажатии кнопки
25
  if st.button("Перевести"):
26
  if tgt_lang == src_lang:
27
+ st.write("Выберите другой язык для перевода")
28
  elif input_text.strip():
29
+ if src_lang == "Русский" and tgt_lang == "Английский":
30
+ # Перевод с русского на английский
31
+ translation = ru_en_translator(input_text)
32
+ st.write(f"Перевод с Русского на Английский:")
33
+ st.write(translation[0]['translation_text'])
34
+ elif src_lang == "Английский" and tgt_lang == "Русский":
35
+ # Перевод с английского на русский
36
+ translation = en_ru_translator(input_text)
37
+ st.write(f"Перевод с Английского на Русский:")
38
+ st.write(translation[0]['translation_text'])
39
  else:
40
  st.write("Пожалуйста, введите текст для перевода.")