bto00 commited on
Commit
e0944bb
·
1 Parent(s): 6872a8d

Add application file

Browse files
Files changed (1) hide show
  1. app.py +34 -22
app.py CHANGED
@@ -1,31 +1,43 @@
1
  import streamlit as st
2
- from transformers import pipeline
3
 
4
- # Загружаем модели
5
- pipe_kz_to_ru = pipeline(model="deepvk/kazRush-kk-ru") # Казахский → Русский
6
- pipe_ru_to_kz = pipeline(model="deepvk/kazRush-ru-kk") # Русский → Казахский
7
 
8
- # Название и описание приложения
9
- st.title("Переводчик: Казахский ↔ Русский")
10
- st.write("Выберите направление перевода и введите текст.")
 
 
 
 
 
 
11
 
12
- # Выпадающий список для выбора направления перевода
13
- language_direction = st.selectbox(
14
- "Выберите направление перевода:",
15
- ["Казахский → Русский", "Русский → Казахский"]
16
- )
17
 
18
- # Ввод текста пользователем
19
- input_text = st.text_area("Введите текст:")
20
 
21
- # Обработка перевода при нажатии кнопки
 
 
 
 
 
 
 
 
 
22
  if st.button("Перевести"):
23
- if input_text.strip():
24
- if language_direction == "Казахский → Русский":
25
- result = pipe_kz_to_ru(input_text)
26
- else: # Русский Казахский
27
- result = pipe_ru_to_kz(input_text)
28
-
29
- st.write("Перевод:", result[0]['translation_text'])
30
  else:
31
  st.write("Пожалуйста, введите текст для перевода.")
 
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
+ # Ввод текста и выбор языков
23
+ input_text = st.text_area("Введите текст для перевода:")
24
 
25
+ language_options = {
26
+ "Русский": "ru_RU",
27
+ "Английский": "en_XX"
28
+ }
29
+
30
+ # Пользователь выбирает исходный и целевой язык
31
+ src_lang = st.selectbox("Выберите исходный язык:", list(language_options.keys()))
32
+ tgt_lang = st.selectbox("Выберите целевой язык:", list(language_options.keys()))
33
+
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("Пожалуйста, введите текст для перевода.")