boompack commited on
Commit
b542fb2
1 Parent(s): 877d5ad

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -26
app.py CHANGED
@@ -1,20 +1,8 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
- from huggingface_hub import login # Добавим импорт для login
4
 
5
- # Функция для авторизации
6
- def authenticate(api_key):
7
- # Авторизация через API-ключ
8
- login(token=api_key)
9
-
10
- # Загружаем модель для анализа текста
11
- analyzer = pipeline("text-generation", model="gpt-2")
12
-
13
- # Возвращаем успешное сообщение
14
- return "Успешно авторизованы с использованием ключа!"
15
-
16
-
17
- # Список пунктов
18
  steps = [
19
  "Деконструкция чужих мыслей",
20
  "Работа с парадоксами",
@@ -60,28 +48,49 @@ steps = [
60
  "Интервью с вещами"
61
  ]
62
 
63
- # Функция обработки одного шага
64
- def process_step(step):
65
- response = analyzer(f"Ответ на шаг: {step}")
66
- return response[0]['generated_text'] # Извлекаем только текст
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
 
68
- # Функция для обработки всех шагов
69
- def process_all_steps(api_key):
70
- authenticate(api_key) # Авторизация с API-ключом
71
 
 
 
72
  all_responses = []
73
  for step in steps:
74
- response = process_step(step)
75
- all_responses.append(f"Шаг: {step}\nОтвет: {response}")
76
  return "\n\n".join(all_responses)
77
 
78
  # Интерфейс для отображения результата
79
  interface = gr.Interface(
80
  fn=process_all_steps,
81
- inputs=gr.Textbox(label="Введите API-ключ Hugging Face"), # Исправлено: добавлена запятая
82
  outputs="text",
83
- title="Обработка 50 шагов",
84
- description="Каждый шаг будет обработан по очереди, и вы получите итоговый результат."
85
  )
86
 
87
  interface.launch() # Запуск интерфейса
 
1
  import gradio as gr
2
  from transformers import pipeline
3
+ from huggingface_hub import login
4
 
5
+ # Список методов, которые будут применяться к введенному тексту
 
 
 
 
 
 
 
 
 
 
 
 
6
  steps = [
7
  "Деконструкция чужих мыслей",
8
  "Работа с парадоксами",
 
48
  "Интервью с вещами"
49
  ]
50
 
51
+ # Функция для авторизации и загрузки моделей
52
+ def authenticate(api_key):
53
+ login(token=api_key) # Авторизация через API-ключ
54
+ # Загрузка различных моделей
55
+ model_gpt = pipeline("text-generation", model="EleutherAI/gpt-neo-2.7B") # GPT-Neo
56
+ model_t5 = pipeline("text-to-text-generation", model="t5-base") # T5
57
+ model_bert = pipeline("fill-mask", model="bert-base-uncased") # BERT, для анализа текста
58
+ return model_gpt, model_t5, model_bert
59
+
60
+ # Функция обработки одного шага с использованием всех моделей
61
+ def process_step(step, text, api_key):
62
+ # Получаем все модели после авторизации
63
+ model_gpt, model_t5, model_bert = authenticate(api_key)
64
+
65
+ # Результаты генерации для GPT-neo
66
+ gpt_response = model_gpt(f"{step}: {text}")
67
+ gpt_result = gpt_response[0]['generated_text']
68
+
69
+ # Результаты генерации для T5
70
+ t5_response = model_t5(f"{step}: {text}")
71
+ t5_result = t5_response[0]['generated_text']
72
+
73
+ # Результаты для BERT (заполнение маски, использование в контексте анализа)
74
+ mask_response = model_bert(f"{step}: {text} [MASK]")
75
+ bert_result = mask_response[0]['sequence']
76
 
77
+ return gpt_result, t5_result, bert_result
 
 
78
 
79
+ # Функция для обработки всех шагов и сравнения моделей
80
+ def process_all_steps(text, api_key):
81
  all_responses = []
82
  for step in steps:
83
+ gpt_result, t5_result, bert_result = process_step(step, text, api_key)
84
+ all_responses.append(f"Шаг: {step}\nGPT-NEO: {gpt_result}\nT5: {t5_result}\nBERT: {bert_result}")
85
  return "\n\n".join(all_responses)
86
 
87
  # Интерфейс для отображения результата
88
  interface = gr.Interface(
89
  fn=process_all_steps,
90
+ inputs=[gr.Textbox(label="Введите текст для анализа"), gr.Textbox(label="Введите API-ключ Hugging Face")],
91
  outputs="text",
92
+ title="Сравнение моделей для анализа текста",
93
+ description="Поочередное применение 50 методов анализа философских и психологических аспектов текста с использованием моделей GPT-NEO, T5 и BERT."
94
  )
95
 
96
  interface.launch() # Запуск интерфейса