fruitpicker01 commited on
Commit
70c0a30
·
verified ·
1 Parent(s): 755ed53

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -24
app.py CHANGED
@@ -115,37 +115,29 @@ def generate_message_gigachat_plus(prompt):
115
  except Exception as e:
116
  return f"Ошибка при обращении к GigaChat-Lite+: {e}"
117
 
118
- # Функция для обработки нажатия кнопки Submit и последовательного отображения результатов
119
  def generate_messages(description, advantages, *selected_values):
120
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
121
 
122
  results = {
123
  "prompt": standard_prompt,
124
- "gpt4o": None,
125
- "gigachat_pro": None,
126
- "gigachat_lite": None,
127
- "gigachat_plus": None
128
  }
129
 
130
- yield results["prompt"], "", "", "", "", "Генерация стандартного промпта завершена"
131
-
132
- results["gpt4o"] = generate_message_gpt4o(standard_prompt)
133
- yield results["prompt"], results["gpt4o"], "", "", "", "Сообщение GPT-4o сгенерировано"
134
-
135
- results["gigachat_pro"] = generate_message_gigachat_pro(standard_prompt)
136
- yield results["prompt"], results["gpt4o"], results["gigachat_pro"], "", "", "Сообщение GigaChat-Pro сгенерировано"
137
-
138
- results["gigachat_lite"] = generate_message_gigachat_lite(standard_prompt)
139
- yield results["prompt"], results["gpt4o"], results["gigachat_pro"], results["gigachat_lite"], "", "Сообщение GigaChat-Lite сгенерировано"
140
-
141
- results["gigachat_plus"] = generate_message_gigachat_plus(standard_prompt)
142
- yield results["prompt"], results["gpt4o"], results["gigachat_pro"], results["gigachat_lite"], results["gigachat_plus"], "Все сообщения сгенерированы"
143
-
144
- # Возвращаем результаты для дальнейшей персонализации
145
- return results
146
 
147
  # Функция для выполнения персонализации
148
- def personalize_messages(*selected_values):
149
  personalized_texts = []
150
 
151
  for i, feature in enumerate(features.keys()):
@@ -201,10 +193,12 @@ with gr.Blocks() as demo:
201
  output_text_gigachat_plus = gr.Textbox(label="Создание сообщения GigaChat-Lite+", lines=3)
202
  status_display = gr.Textbox(label="Статус выполнения", lines=4, interactive=False) # Новый блок для отображения статуса
203
 
 
 
204
  submit_btn.click(
205
  generate_messages,
206
  inputs=[description_input, advantages_input] + selections,
207
- outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus, status_display]
208
  )
209
 
210
  with gr.Row():
@@ -213,7 +207,7 @@ with gr.Blocks() as demo:
213
  with gr.Row():
214
  personalize_btn.click(
215
  personalize_messages,
216
- inputs=selections,
217
  outputs=[gr.Textbox(label=f"Персонализированный текст для {feature}", lines=3) for feature in features.keys()]
218
  )
219
 
 
115
  except Exception as e:
116
  return f"Ошибка при обращении к GigaChat-Lite+: {e}"
117
 
118
+ # Функция для обработки нажатия кнопки Submit и сохранения данных в State
119
  def generate_messages(description, advantages, *selected_values):
120
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
121
 
122
  results = {
123
  "prompt": standard_prompt,
124
+ "gpt4o": generate_message_gpt4o(standard_prompt),
125
+ "gigachat_pro": generate_message_gigachat_pro(standard_prompt),
126
+ "gigachat_lite": generate_message_gigachat_lite(standard_prompt),
127
+ "gigachat_plus": generate_message_gigachat_plus(standard_prompt)
128
  }
129
 
130
+ return (
131
+ results["prompt"],
132
+ results["gpt4o"],
133
+ results["gigachat_pro"],
134
+ results["gigachat_lite"],
135
+ results["gigachat_plus"],
136
+ results # Возвращаем данные для сохранения в state
137
+ )
 
 
 
 
 
 
 
 
138
 
139
  # Функция для выполнения персонализации
140
+ def personalize_messages(results, *selected_values):
141
  personalized_texts = []
142
 
143
  for i, feature in enumerate(features.keys()):
 
193
  output_text_gigachat_plus = gr.Textbox(label="Создание сообщения GigaChat-Lite+", lines=3)
194
  status_display = gr.Textbox(label="Статус выполнения", lines=4, interactive=False) # Новый блок для отображения статуса
195
 
196
+ state = gr.State() # Переменная состояния для сохранения данных между функциями
197
+
198
  submit_btn.click(
199
  generate_messages,
200
  inputs=[description_input, advantages_input] + selections,
201
+ outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus, state]
202
  )
203
 
204
  with gr.Row():
 
207
  with gr.Row():
208
  personalize_btn.click(
209
  personalize_messages,
210
+ inputs=selections + [state],
211
  outputs=[gr.Textbox(label=f"Персонализированный текст для {feature}", lines=3) for feature in features.keys()]
212
  )
213