boompack commited on
Commit
0b7dbdc
1 Parent(s): 238e16c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -78
app.py CHANGED
@@ -1,84 +1,51 @@
1
  from transformers import pipeline
 
2
 
3
- # Список тем для анализа
4
- s = [
5
- "Деконструкция чужих мыслей",
6
- "Работа с парадоксами",
7
- "Установка умных ограничений",
8
- "Циклическая обратная связь",
9
- "Минимизация информации",
10
- "Мобильные библиотеки",
11
- "Интервью с самим собой",
12
- "Использование 'периода тишины'",
13
- "Переработка старых проектов",
14
- "Метод заземления",
15
- "Реверсивное мышление",
16
- "Работа с случайностями",
17
- "Персонализированные алгоритмы",
18
- "Использование времени с минимальной активностью",
19
- "Анализ с позиции 'невыносимой лёгкости бытия'",
20
- "Создание креативных фрагментов",
21
- "Метод 'ошибки с первого раза'",
22
- "Медитативный подход к созданию контента",
23
- "Процесс разрыва шаблонов",
24
- "Принцип 'меньше — больше'",
25
- "Использование аналога для сложных идей",
26
- "Копирование ошибок успешных людей",
27
- "Картирование знаний через визуальные образы",
28
- "Задачи, заставляющие мозг работать под давлением",
29
- "Анализ поведения людей в стрессовых ситуациях",
30
- "Кросс-дисциплинарное мышление",
31
- "Картирование эмоций",
32
- "Использование случайных встреч для изучения",
33
- "Фиксация успешных решений на бумаге",
34
- "Использование игры в жизни",
35
- "Процесс 'максимизации ресурса'",
36
- "Управление временем через шаблоны",
37
- "Персонализированная техника памяти",
38
- "Техники амнезии",
39
- "Системы контроля 'изнутри'",
40
- "Переосмысление стандартных ролей",
41
- "Использование тишины как инструмента для мыслей",
42
- "'Переход через время'",
43
- "Процесс 'расширения горизонтов'",
44
- "Техника взрывной генерации идей",
45
- "Техника обратного создания",
46
- "Интервью с вещами"
47
- ]
48
 
49
- # Модели для обработки
50
- model_gpt = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")
51
- model_t5 = pipeline("text2text-generation", model="t5-base")
52
- model_bert = pipeline("fill-mask", model="bert-base-uncased")
 
 
 
 
 
 
 
 
 
 
53
 
54
- # Создание списка вопросов
55
- questions = [
56
- "Как вы понимаете этот принцип?",
57
- "Как этот принцип может быть применен в реальной жизни?",
58
- "Какие преимущества и недостатки этого принципа?",
59
- "Какие примеры применения этого принципа?",
60
- "Как вы можете использовать этот принцип в своей работе?",
61
- ]
62
 
63
- # Обработка каждого пункта и формирование ответов
64
- responses = []
65
- for i, item in enumerate(s):
66
- # Генерируем вопрос
67
- question = questions[i % len(questions)]
 
68
 
69
- # Выбираем модель для обработки в зависимости от номера пункта
70
- if i % 3 == 0:
71
- result = model_gpt(f"{item} {question}", max_length=100)
72
- responses.append(f"**{item}:** {result[0]['generated_text']}")
73
- elif i % 3 == 1:
74
- result = model_t5(f"{item} {question}")
75
- responses.append(f"**{item}:** {result[0]['generated_text']}")
76
- else:
77
- result = model_bert(f"{item} {question}")
78
- responses.append(f"**{item}:** {result[0]['sequence']}")
79
-
80
- # Создание итогового текста
81
- final_text = "\n".join(responses)
82
-
83
- # Вывод итогового текста
84
- print(final_text)
 
1
  from transformers import pipeline
2
+ import gradio as gr
3
 
4
+ class TextProcessor:
5
+ """
6
+ Класс для обработки текста с использованием моделей GPT-Neo и T5.
7
+ """
8
+ def __init__(self, api_key=None):
9
+ """
10
+ Инициализирует объект TextProcessor.
11
+ """
12
+ self.api_key = api_key # API-ключ, если он нужен для авторизации
13
+ self.model_gpt = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")
14
+ self.model_t5 = pipeline("text2text-generation", model="t5-base")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ else:
29
+ return "Unknown step"
30
 
31
+ # Создание интерфейса Gradio
32
+ processor = TextProcessor()
 
 
 
 
 
 
33
 
34
+ def process_step(step, text):
35
+ """
36
+ Функция для обработки шага в Gradio.
37
+ """
38
+ result = processor.process_text(step, text)
39
+ return result
40
 
41
+ iface = gr.Interface(
42
+ fn=process_step,
43
+ inputs=[
44
+ gr.Radio(choices=[1, 2], label="Шаг"), # Изменили количество вариантов
45
+ gr.Textbox(lines=3, label="Текст"),
46
+ ],
47
+ outputs="text",
48
+ title="Обработка Текста",
49
+ description="Выберите шаг и введите текст.",
50
+ )
51
+ iface.launch()