fruitpicker01 commited on
Commit
b8730df
·
verified ·
1 Parent(s): 915ac85

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -5
app.py CHANGED
@@ -72,7 +72,7 @@ def generate_standard_prompt(description, advantages, *selected_values):
72
  )
73
  return prompt
74
 
75
- # Функция для генерации сообщения с помощью ChatGPT-4o-Latest
76
  def generate_message_gpt4o(prompt):
77
  try:
78
  headers = {
@@ -90,7 +90,6 @@ def generate_message_gpt4o(prompt):
90
  except Exception as e:
91
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
92
 
93
- # Функция для генерации сообщения с помощью GigaChat-Pro
94
  def generate_message_gigachat_pro(prompt):
95
  try:
96
  messages = [SystemMessage(content=prompt)]
@@ -99,17 +98,15 @@ def generate_message_gigachat_pro(prompt):
99
  except Exception as e:
100
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
101
 
102
- # Функция для генерации сообщения с помощью GigaChat-Lite
103
  def generate_message_gigachat_lite(prompt):
104
  try:
105
- time.sleep(2) # Задержка 2 секунды перед запросом к GigaChat
106
  messages = [SystemMessage(content=prompt)]
107
  res = chat_lite(messages)
108
  return res.content.strip()
109
  except Exception as e:
110
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
111
 
112
- # Функция для генерации сообщения с помощью GigaChat-Lite+
113
  def generate_message_gigachat_plus(prompt):
114
  try:
115
  messages = [SystemMessage(content=prompt)]
@@ -144,6 +141,34 @@ def generate_messages(description, advantages, *selected_values):
144
  results["gigachat_plus"] = generate_message_gigachat_plus(standard_prompt)
145
  yield results["prompt"], results["gpt4o"], results["gigachat_pro"], results["gigachat_lite"], results["gigachat_plus"]
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  # Создание интерфейса Gradio
148
  with gr.Blocks() as demo:
149
  gr.Markdown("# Генерация SMS-сообщений по заданным признакам")
@@ -187,10 +212,34 @@ with gr.Blocks() as demo:
187
  output_text_gigachat_lite = gr.Textbox(label="Создание сообщения GigaChat-Lite", lines=3)
188
  output_text_gigachat_plus = gr.Textbox(label="Создание сообщения GigaChat-Lite+", lines=3)
189
 
 
190
  submit_btn.click(
191
  generate_messages,
192
  inputs=[description_input, advantages_input] + selections,
193
  outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
194
  )
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  demo.launch()
 
72
  )
73
  return prompt
74
 
75
+ # Функции для генерации сообщений
76
  def generate_message_gpt4o(prompt):
77
  try:
78
  headers = {
 
90
  except Exception as e:
91
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
92
 
 
93
  def generate_message_gigachat_pro(prompt):
94
  try:
95
  messages = [SystemMessage(content=prompt)]
 
98
  except Exception as e:
99
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
100
 
 
101
  def generate_message_gigachat_lite(prompt):
102
  try:
103
+ time.sleep(2)
104
  messages = [SystemMessage(content=prompt)]
105
  res = chat_lite(messages)
106
  return res.content.strip()
107
  except Exception as e:
108
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
109
 
 
110
  def generate_message_gigachat_plus(prompt):
111
  try:
112
  messages = [SystemMessage(content=prompt)]
 
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(results, *selected_values):
149
+ # Промпты для персонализации
150
+ personalization_prompt_gpt4o = f"Пожалуйста, адаптируйте следующее сообщение: '{results['gpt4o']}' под следующие требования:\n"
151
+ personalization_prompt_gigachat_pro = f"Пожалуйста, адаптируйте следующее сообщение: '{results['gigachat_pro']}' под следующие требования:\n"
152
+ personalization_prompt_gigachat_lite = f"Пожалуйста, адаптируйте следующее сообщение: '{results['gigachat_lite']}' под следующие требования:\n"
153
+ personalization_prompt_gigachat_plus = f"Пожалуйста, адаптируйте следующее сообщение: '{results['gigachat_plus']}' под следующие требования:\n"
154
+
155
+ # Добавляем требования из выбранных признаков
156
+ for i, feature in enumerate(features.keys()):
157
+ if selected_values[i]:
158
+ requirement = f"- {features[feature][selected_values[i]]}\n"
159
+ personalization_prompt_gpt4o += requirement
160
+ personalization_prompt_gigachat_pro += requirement
161
+ personalization_prompt_gigachat_lite += requirement
162
+ personalization_prompt_gigachat_plus += requirement
163
+
164
+ # Персонализированные сообщения
165
+ personalized_message_gpt4o = generate_message_gpt4o(personalization_prompt_gpt4o)
166
+ personalized_message_gigachat_pro = generate_message_gigachat_pro(personalization_prompt_gigachat_pro)
167
+ personalized_message_gigachat_lite = generate_message_gigachat_lite(personalization_prompt_gigachat_lite)
168
+ personalized_message_gigachat_plus = generate_message_gigachat_plus(personalization_prompt_gigachat_plus)
169
+
170
+ return personalization_prompt_gpt4o, personalized_message_gpt4o, personalization_prompt_gigachat_pro, personalized_message_gigachat_pro, personalization_prompt_gigachat_lite, personalized_message_gigachat_lite, personalization_prompt_gigachat_plus, personalized_message_gigachat_plus
171
+
172
  # Создание интерфейса Gradio
173
  with gr.Blocks() as demo:
174
  gr.Markdown("# Генерация SMS-сообщений по заданным признакам")
 
212
  output_text_gigachat_lite = gr.Textbox(label="Создание сообщения GigaChat-Lite", lines=3)
213
  output_text_gigachat_plus = gr.Textbox(label="Создание сообщения GigaChat-Lite+", lines=3)
214
 
215
+ # Кнопка для генерации стандартных сообщений
216
  submit_btn.click(
217
  generate_messages,
218
  inputs=[description_input, advantages_input] + selections,
219
  outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
220
  )
221
 
222
+ # Поля для вывода персонализированных сообщений
223
+ personalization_prompt_gpt4o_display = gr.Textbox(label="Промпт для персонализации GPT-4o", lines=6, interactive=False)
224
+ personalized_output_text_gpt4o = gr.Textbox(label="Персонализированное сообщение GPT-4o", lines=3)
225
+ personalization_prompt_gigachat_pro_display = gr.Textbox(label="Промпт для персонализации GigaChat-Pro", lines=6, interactive=False)
226
+ personalized_output_text_gigachat_pro = gr.Textbox(label="Персонализированное сообщение GigaChat-Pro", lines=3)
227
+ personalization_prompt_gigachat_lite_display = gr.Textbox(label="Промпт для персонализации GigaChat-Lite", lines=6, interactive=False)
228
+ personalized_output_text_gigachat_lite = gr.Textbox(label="Персонализированное сообщение GigaChat-Lite", lines=3)
229
+ personalization_prompt_gigachat_plus_display = gr.Textbox(label="Промпт для персонализации GigaChat-Lite+", lines=6, interactive=False)
230
+ personalized_output_text_gigachat_plus = gr.Textbox(label="Персонализированное сообщение GigaChat-Lite+", lines=3)
231
+
232
+ # Кнопка для выполнения персонализации
233
+ personalize_btn = gr.Button("Выполнить персонализацию")
234
+ personalize_btn.click(
235
+ personalize_messages,
236
+ inputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus] + selections,
237
+ outputs=[
238
+ personalization_prompt_gpt4o_display, personalized_output_text_gpt4o,
239
+ personalization_prompt_gigachat_pro_display, personalized_output_text_gigachat_pro,
240
+ personalization_prompt_gigachat_lite_display, personalized_output_text_gigachat_lite,
241
+ personalization_prompt_gigachat_plus_display, personalized_output_text_gigachat_plus
242
+ ]
243
+ )
244
+
245
  demo.launch()