Emil25 commited on
Commit
25a0fee
·
verified ·
1 Parent(s): 45129e5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -7
app.py CHANGED
@@ -4,8 +4,7 @@ import numpy as np
4
  import nltk
5
  from nltk.tokenize import sent_tokenize, word_tokenize
6
  from transformers import AutoModelForCausalLM, AutoTokenizer
7
- nltk.download('punkt')
8
- nltk.download('punkt_tab')
9
 
10
 
11
  # Настройка конфигурации страницы Streamlit
@@ -15,8 +14,21 @@ st.set_page_config(
15
  )
16
 
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  # Загрузка модели и токенизатора
19
- # @st.cache_data()
20
  def get_model():
21
  # Загрузка модели
22
  model = AutoModelForCausalLM.from_pretrained('model')
@@ -44,6 +56,7 @@ def gen_review(input_text):
44
 
45
 
46
  def capitalize_and_punctuate(text):
 
47
  # Разделяем текст на предложения
48
  sentences = sent_tokenize(text)
49
 
@@ -84,11 +97,12 @@ def main():
84
  input_text = f"Категория: {category}; Рейтинг: {rating}; Ключевые слова: {key_words} -> Отзыв:"
85
 
86
  if st.button('Generate'):
87
- #with st.spinner('Генерация отзыва...'):
88
- generated_text = gen_review(input_text)
89
- generated_text = capitalize_and_punctuate(generated_text)
90
- #st.success("Готово!")
91
  st.text(generated_text)
92
 
 
93
  if __name__ == "__main__":
94
  main()
 
4
  import nltk
5
  from nltk.tokenize import sent_tokenize, word_tokenize
6
  from transformers import AutoModelForCausalLM, AutoTokenizer
7
+ from nltk.data import find
 
8
 
9
 
10
  # Настройка конфигурации страницы Streamlit
 
14
  )
15
 
16
 
17
+ def download_nltk_data():
18
+ try:
19
+ # Проверяем, установлены ли данные
20
+ find('tokenizers/punkt')
21
+ find('tokenizers/punkt_tab')
22
+ print("Данные уже загружены.")
23
+ except LookupError:
24
+ # Если данные не найдены, загружаем их
25
+ print("Загрузка данных NLTK...")
26
+ nltk.download('punkt')
27
+ nltk.download('punkt_tab')
28
+
29
+
30
  # Загрузка модели и токенизатора
31
+ @st.cache_data()
32
  def get_model():
33
  # Загрузка модели
34
  model = AutoModelForCausalLM.from_pretrained('model')
 
56
 
57
 
58
  def capitalize_and_punctuate(text):
59
+ download_nltk_data()
60
  # Разделяем текст на предложения
61
  sentences = sent_tokenize(text)
62
 
 
97
  input_text = f"Категория: {category}; Рейтинг: {rating}; Ключевые слова: {key_words} -> Отзыв:"
98
 
99
  if st.button('Generate'):
100
+ with st.spinner('Генерация отзыва...'):
101
+ generated_text = gen_review(input_text)
102
+ generated_text = capitalize_and_punctuate(generated_text)
103
+ st.success("Готово!")
104
  st.text(generated_text)
105
 
106
+
107
  if __name__ == "__main__":
108
  main()