fruitpicker01 commited on
Commit
7494102
·
verified ·
1 Parent(s): c9881c0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -150
app.py CHANGED
@@ -16,7 +16,7 @@ token = os.getenv('GITHUB_TOKEN')
16
 
17
  # Функция аутентификации в сервисе GigaChat с заданной температурой
18
  def authenticate_gigachat(model, max_tokens, temperature):
19
- return GigaChat(credentials=gc_key, model=model, max_tokens=max_tokens, temperature=temperature, verify_ssl_certs=False)
20
 
21
  # Функция аутентификации для GPT-4o
22
  def authenticate_gpt4o(max_tokens, temperature):
@@ -27,7 +27,7 @@ def authenticate_gpt4o(max_tokens, temperature):
27
  return {
28
  "model": "chatgpt-4o-latest",
29
  "max_tokens": max_tokens,
30
- "temperature": temperature,
31
  "headers": headers
32
  }
33
 
@@ -230,160 +230,32 @@ with gr.Blocks() as demo:
230
  description_input,
231
  advantages_input,
232
  *selections,
233
- authenticate_gpt4o(101, gpt4o_temperature),
234
- authenticate_gigachat('GigaChat-Pro', 68, gigachat_pro_temperature),
235
- authenticate_gigachat('GigaChat', 68, gigachat_lite_temperature),
236
- authenticate_gigachat('GigaChat-Plus', 68, gigachat_plus_temperature)
237
  ],
238
  outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
239
  )
240
 
241
 
242
- with gr.Row():
243
- personalize_btn = gr.Button("2. Выполнить персонализацию (нажимать только после кнопки 1)", elem_id="personalize_button")
244
-
245
- with gr.Row():
246
- personalize_btn.click(
247
- personalize_messages_with_yield,
248
- inputs=[output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus] + selections,
249
- outputs=[
250
- gr.Textbox(label="Промпт для персонализации", lines=6, interactive=False),
251
- personalized_output_text_gpt4o := gr.Textbox(label="Персонализированное сообщение GPT-4o", lines=6, interactive=False),
252
- personalized_output_text_gigachat_pro := gr.Textbox(label="Персонализированное сообщение GigaChat-Pro", lines=6, interactive=False),
253
- personalized_output_text_gigachat_lite := gr.Textbox(label="Персонализированное сообщение GigaChat-Lite", lines=6, interactive=False),
254
- personalized_output_text_gigachat_plus := gr.Textbox(label="Персонализированное сообщение GigaChat-Lite+", lines=6, interactive=False)
255
- ]
256
- )
257
-
258
- with gr.Row():
259
- gr.Markdown("*Комментарий (опционально):*")
260
- comment_gpt4o = gr.Textbox(label="", lines=3)
261
- comment_gigachat_pro = gr.Textbox(label="", lines=3)
262
- comment_gigachat_lite = gr.Textbox(label="", lines=3)
263
- comment_gigachat_plus = gr.Textbox(label="", lines=3)
264
-
265
- with gr.Row():
266
- gr.Markdown("*Откорректированное сообщение (опционально):*")
267
- corrected_gpt4o = gr.Textbox(label="", lines=3)
268
- corrected_gigachat_pro = gr.Textbox(label="", lines=3)
269
- corrected_gigachat_lite = gr.Textbox(label="", lines=3)
270
- corrected_gigachat_plus = gr.Textbox(label="", lines=3)
271
-
272
-
273
- # Отдельная строка для кнопок с использованием пустой колонки
274
- with gr.Row():
275
- gr.Button("Жми 👍 для сохранения удачного SMS в базу =>")
276
- save_gpt4o_btn = gr.Button("👍")
277
- save_gigachat_pro_btn = gr.Button("👍")
278
- save_gigachat_lite_btn = gr.Button("👍")
279
- save_gigachat_plus_btn = gr.Button("👍")
280
-
281
- # Привязка кнопок к функциям сохранения
282
- save_gpt4o_btn.click(
283
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
284
- save_to_github(personalized_message, "GPT-4o", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
285
- inputs=[
286
- personalized_output_text_gpt4o,
287
- comment_gpt4o,
288
- corrected_gpt4o,
289
- description_input,
290
- advantages_input,
291
- prompt_display,
292
- output_text_gpt4o,
293
- selections[0], # Пол
294
- selections[1], # Поколение
295
- selections[2], # Психотип
296
- selections[3], # Стадия бизнеса
297
- selections[4], # Отрасль
298
- selections[5], # ОПФ
299
- gpt4o_temperature # Передача температуры
300
- ],
301
- outputs=None
302
- )
303
-
304
- save_gigachat_pro_btn.click(
305
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
306
- save_to_github(personalized_message, "GigaChat-Pro", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
307
- inputs=[
308
- personalized_output_text_gigachat_pro,
309
- comment_gigachat_pro,
310
- corrected_gigachat_pro,
311
- description_input,
312
- advantages_input,
313
- prompt_display,
314
- output_text_gigachat_pro,
315
- selections[0], # Пол
316
- selections[1], # Поколение
317
- selections[2], # Психотип
318
- selections[3], # Стадия бизнеса
319
- selections[4], # Отрасль
320
- selections[5], # ОПФ
321
- gigachat_pro_temperature # Передача температуры
322
- ],
323
- outputs=None
324
- )
325
-
326
- save_gigachat_lite_btn.click(
327
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
328
- save_to_github(personalized_message, "GigaChat-Lite", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
329
- inputs=[
330
- personalized_output_text_gigachat_lite,
331
- comment_gigachat_lite,
332
- corrected_gigachat_lite,
333
- description_input,
334
- advantages_input,
335
- prompt_display,
336
- output_text_gigachat_lite,
337
- selections[0], # Пол
338
- selections[1], # Поколение
339
- selections[2], # Психотип
340
- selections[3], # Стадия бизнеса
341
- selections[4], # Отрасль
342
- selections[5], # ОПФ
343
- gigachat_lite_temperature # Передача температуры
344
- ],
345
- outputs=None
346
- )
347
-
348
- save_gigachat_plus_btn.click(
349
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
350
- save_to_github(personalized_message, "GigaChat-Plus", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
351
  inputs=[
352
- personalized_output_text_gigachat_plus,
353
- comment_gigachat_plus,
354
- corrected_gigachat_plus,
355
- description_input,
356
- advantages_input,
357
- prompt_display,
358
- output_text_gigachat_plus,
359
- selections[0], # Пол
360
- selections[1], # Поколение
361
- selections[2], # Психотип
362
- selections[3], # Стадия бизнеса
363
- selections[4], # Отрасль
364
- selections[5], # ОПФ
365
- gigachat_plus_temperature # Передача температуры
366
- ],
367
- outputs=None
368
- )
369
-
370
-
371
- # Использование сохраненных переменных в следующем блоке
372
- with gr.Row():
373
- check_errors_btn = gr.Button("3. Проверить текст (нажимать только после кнопки 2) - экспериментальная фича, качество пока крайне низкое", elem_id="check_errors_button")
374
-
375
- with gr.Row():
376
- check_errors_btn.click(
377
- check_errors_with_yield,
378
- inputs=[personalized_output_text_gpt4o, personalized_output_text_gigachat_pro, personalized_output_text_gigachat_lite, personalized_output_text_gigachat_plus],
379
- outputs=[
380
- gr.Textbox(label="Промпт для проверки текста", lines=6, interactive=False),
381
- gr.Textbox(label="Результат проверки GPT-4o", lines=6),
382
- gr.Textbox(label="Результат проверки GigaChat-Pro", lines=6),
383
- gr.Textbox(label="Результат проверки GigaChat-Lite", lines=6),
384
- gr.Textbox(label="Результат проверки GigaChat-Lite+", lines=6)
385
- ]
386
  )
387
 
388
-
389
  demo.launch()
 
16
 
17
  # Функция аутентификации в сервисе GigaChat с заданной температурой
18
  def authenticate_gigachat(model, max_tokens, temperature):
19
+ return GigaChat(credentials=gc_key, model=model, max_tokens=max_tokens, temperature=float(temperature), verify_ssl_certs=False)
20
 
21
  # Функция аутентификации для GPT-4o
22
  def authenticate_gpt4o(max_tokens, temperature):
 
27
  return {
28
  "model": "chatgpt-4o-latest",
29
  "max_tokens": max_tokens,
30
+ "temperature": float(temperature),
31
  "headers": headers
32
  }
33
 
 
230
  description_input,
231
  advantages_input,
232
  *selections,
233
+ gpt4o_temperature, # Передаем температуру как компонент
234
+ gigachat_pro_temperature, # Передаем температуру как компонент
235
+ gigachat_lite_temperature, # Передаем температуру как компонент
236
+ gigachat_plus_temperature # Передаем температуру как компонент
237
  ],
238
  outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
239
  )
240
 
241
 
242
+ submit_btn.click(
243
+ fn=lambda description, advantages, *selected_values, gpt4o_temperature, gigachat_pro_temperature, gigachat_lite_temperature, gigachat_plus_temperature:
244
+ generate_messages(description, advantages, *selected_values,
245
+ authenticate_gpt4o(101, gpt4o_temperature),
246
+ authenticate_gigachat('GigaChat-Pro', 68, gigachat_pro_temperature),
247
+ authenticate_gigachat('GigaChat', 68, gigachat_lite_temperature),
248
+ authenticate_gigachat('GigaChat-Plus', 68, gigachat_plus_temperature)),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  inputs=[
250
+ description_input,
251
+ advantages_input,
252
+ *selections,
253
+ gpt4o_temperature, # Передаем значение температуры
254
+ gigachat_pro_temperature, # Передаем значение температуры
255
+ gigachat_lite_temperature, # Передаем значение температуры
256
+ gigachat_plus_temperature # Передаем значение температуры
257
+ ],
258
+ outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  )
260
 
 
261
  demo.launch()