boompack commited on
Commit
8eadc15
·
verified ·
1 Parent(s): 6bd7684

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -51
app.py CHANGED
@@ -1,60 +1,45 @@
1
  from transformers import pipeline
2
 
3
- # Функция для авторизации и загрузки моделей
4
- def authenticate(api_key):
5
- # Здесь предполагается, что api_key используется для каких-то целей авторизации, если нужно
6
- # Например, вы можете проверить токен перед загрузкой моделей.
7
- # Но в данном примере токен не используется.
 
 
 
 
 
 
 
8
 
9
- # Загрузка модели GPT-Neo для генерации текста
10
- model_gpt = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")
11
-
12
- # Загрузка модели T5 для задач text-to-text (перевод, резюмирование и т.д.)
13
- model_t5 = pipeline("text2text-generation", model="t5-base")
14
-
15
- # Загрузка модели BERT для задачи заполнения пропусков
16
- model_bert = pipeline("fill-mask", model="bert-base-uncased")
17
-
18
- return model_gpt, model_t5, model_bert
19
-
20
- # Функция для обработки текста с использованием всех трех моделей
21
- def process_step(step, text, api_key):
22
- # Авторизация и загрузка моделей
23
- model_gpt, model_t5, model_bert = authenticate(api_key)
24
-
25
- # Применение различных моделей по очереди в зависимости от шага
26
- if step == 1:
27
- # Пример генерации текста с помощью GPT-Neo
28
- gpt_result = model_gpt(text, max_length=100)
29
- return gpt_result
30
- elif step == 2:
31
- # Пример генерации текста с помощью T5 (например, для резюмирования)
32
- t5_result = model_t5(text)
33
- return t5_result
34
- elif step == 3:
35
- # Пример заполнения пропусков с помощью BERT
36
- bert_result = model_bert(text)
37
- return bert_result
38
- else:
39
- return "Unknown step"
40
 
41
  # Пример использования
42
  if __name__ == "__main__":
43
  api_key = "your_api_key_here" # Здесь укажите свой API-ключ, если необходимо
44
 
45
  text_input = "Your text input here." # Ваш текст для анализа
46
-
47
- # Пример: шаг 1 — использование GPT-Neo
48
- step = 1
49
- result = process_step(step, text_input, api_key)
50
- print(f"Result from step {step}: {result}")
51
-
52
- # Пример: шаг 2 — использование T5
53
- step = 2
54
- result = process_step(step, text_input, api_key)
55
- print(f"Result from step {step}: {result}")
56
-
57
- # Пример: шаг 3 — использование BERT
58
- step = 3
59
- result = process_step(step, text_input, api_key)
60
- print(f"Result from step {step}: {result}")
 
1
  from transformers import pipeline
2
 
3
+ class TextProcessor:
4
+ """
5
+ Класс для обработки текста с использованием моделей GPT-Neo, T5 и BERT.
6
+ """
7
+ def __init__(self, api_key=None):
8
+ """
9
+ Инициализирует объект TextProcessor.
10
+ """
11
+ self.api_key = api_key
12
+ self.model_gpt = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")
13
+ self.model_t5 = pipeline("text2text-generation", model="t5-base")
14
+ self.model_bert = pipeline("fill-mask", model="bert-base-uncased")
15
 
16
+ def process_text(self, step, text):
17
+ """
18
+ Обрабатывает текст с использованием выбранной модели.
19
+ """
20
+ if step == 1:
21
+ # Пример генерации текста с помощью GPT-Neo
22
+ gpt_result = self.model_gpt(text, max_length=100)
23
+ return gpt_result
24
+ elif step == 2:
25
+ # Пример генерации текста с помощью T5 (например, для резюмирования)
26
+ t5_result = self.model_t5(text)
27
+ return t5_result
28
+ elif step == 3:
29
+ # Пример заполнения пропусков с помощью BERT
30
+ bert_result = self.model_bert(text)
31
+ return bert_result
32
+ else:
33
+ return "Unknown step"
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  # Пример использования
36
  if __name__ == "__main__":
37
  api_key = "your_api_key_here" # Здесь укажите свой API-ключ, если необходимо
38
 
39
  text_input = "Your text input here." # Ваш текст для анализа
40
+
41
+ processor = TextProcessor(api_key)
42
+
43
+ for step in range(1, 4): # Проходим по шагам с 1 до 3
44
+ result = processor.process_text(step, text_input)
45
+ print(f"Result from step {step}: {result}")