Emil25 commited on
Commit
ebe0d49
1 Parent(s): 4783ea0

Upload 2 files

Browse files
Files changed (2) hide show
  1. pages/Cards.py +60 -0
  2. pages/Summary.py +27 -0
pages/Cards.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import requests
4
+ import word2emoji
5
+ import os
6
+
7
+ # Установка API URL и заголовков
8
+ API_URL_gen = "https://api-inference.huggingface.co/models/facebook/blenderbot-400M-distill"
9
+ API_URL_tra = "https://api-inference.huggingface.co/models/Helsinki-NLP/opus-mt-en-ru"
10
+
11
+ headers = {"Authorization": "Bearer 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"}
12
+
13
+ # Функция для генерирования предложения
14
+ def generate_example(payload):
15
+ response = requests.post(API_URL_gen, headers=headers, json=payload)
16
+ return response.json()
17
+
18
+ # Функция для перевода слова
19
+ def translate_word(payload):
20
+ response = requests.post(API_URL_tra, headers=headers, json=payload)
21
+ return response.json()
22
+
23
+ # Настраеваем заголовок и название страницы
24
+ st.set_page_config(layout="wide", page_title="Students' Personal Assistant")
25
+ st.markdown(' # :female-student: Персональный помощник для студентов')
26
+ st.divider()
27
+ st.markdown('## :flower_playing_cards: Карточки для изучения английских слов')
28
+
29
+ st.sidebar.markdown('# :bookmark_tabs: :bookmark_tabs: :bookmark_tabs: :bookmark_tabs: ')
30
+ words_from_tarea = st.sidebar.text_area('Напиши список слов на английском', value='cat dog duck')
31
+ button_start = st.sidebar.button('Создать карточки')
32
+
33
+ cards_list = list()
34
+ if button_start:
35
+ words_list = words_from_tarea.split()
36
+ st.divider()
37
+
38
+
39
+ # Отправляем запросы через API для получения перевода слов и генерирования предложений
40
+ with st.spinner('...'):
41
+ for word in words_list:
42
+ example = generate_example(word)
43
+ translated = translate_word(word)
44
+ cards_list.append([word, translated[0]['translation_text'].lower(), example['generated_text']])
45
+
46
+ # Преобразуем полученные данные в DataFrame
47
+ cards_df = pd.DataFrame(cards_list, columns=['word', 'translated', 'example'])
48
+ st.sidebar.success('Готово')
49
+
50
+ # Выводим карточки
51
+ for el in cards_list:
52
+ with st.chat_message("assistant"):
53
+ #st.divider()
54
+ st.markdown(f'# {word2emoji(el[0])}')
55
+ st.markdown(f'# :red[{el[0]}]')
56
+ st.markdown(f'## :blue[{el[1]}]')
57
+ st.markdown(f'* {el[2]}')
58
+ st.divider()
59
+
60
+
pages/Summary.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import requests
3
+
4
+ # API для составления коспекта текста с использованием модели "bart-large-cnn"
5
+ API_URL_sum = "https://api-inference.huggingface.co/models/facebook/bart-large-cnn"
6
+ headers = {"Authorization": "Bearer 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"}
7
+
8
+ # Функция для составления конспекта
9
+ def make_summary(payload):
10
+ response = requests.post(API_URL_sum, headers=headers, json=payload)
11
+ return response.json()
12
+
13
+ st.markdown('# :female-student: Персональный помощник для студентов')
14
+ st.divider()
15
+ st.markdown('# :blue_book: Конспект на английском языке')
16
+ st.markdown('## Введите текст на английском')
17
+ full_text = st.text_area(':book:', height=300, value='Введите свой текст на английском языке')
18
+
19
+ summary_button = st.button('Составить конспект')
20
+
21
+ if summary_button:
22
+ # Отправляем запросы через API для получения перевода слов и генерирования предложений
23
+ with st.spinner('...'):
24
+ summary_text = make_summary(full_text)
25
+ with st.expander("Конспект"):
26
+ st.write(summary_text[0]['summary_text'])
27
+ st.success('Готово')