fruitpicker01 commited on
Commit
f96205d
·
verified ·
1 Parent(s): 53203f9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -62
app.py CHANGED
@@ -823,12 +823,11 @@ def reset_button_text_2():
823
  return gr.update(value="Я предпочитаю это SMS", visible=True)
824
 
825
  def check_source_fields(description, product_name, benefits, key_message):
826
-
827
  results = []
828
 
829
  # Проверяем "Описание предложения"
830
  desc_checks = perform_checks(description, "")
831
- not_passed_desc = extract_failed_checks(desc_checks) # функция, которая из словаря checks вытягивает только не пройденные проверки
832
  if not_passed_desc:
833
  results.append(f"Описание предложения:\n{not_passed_desc}")
834
 
@@ -851,13 +850,18 @@ def check_source_fields(description, product_name, benefits, key_message):
851
  results.append(f"Ключевое сообщение:\n{not_passed_km}")
852
 
853
  if not results:
854
- # Всё пройдено
855
  return "Проверка исходных данных пройдена"
856
  else:
857
- # Склеиваем блоки
858
  return "\n\n".join(results)
859
 
860
 
 
 
 
 
 
 
 
861
  def extract_failed_checks(checks_dict):
862
  lines = []
863
  for rule_key, result in checks_dict.items():
@@ -1416,7 +1420,8 @@ with gr.Blocks(theme="default") as demo:
1416
  product_name = gr.Textbox(label="Наименование продукта", lines=1, value="", interactive=True)
1417
  benefits = gr.Textbox(label="Преимущества", lines=6, value="", interactive=True)
1418
  key_message = gr.Textbox(label="Ключевое сообщение", lines=2, value="")
1419
- source_check_md = gr.Textbox(label="Результат проверки исходных данных", lines=2, value="")
 
1420
 
1421
  def on_product_change(selected, description, product_name, benefits, key_message,
1422
  gender, generation, psychotype, business_stage, industry, opf):
@@ -1459,7 +1464,7 @@ with gr.Blocks(theme="default") as demo:
1459
  "",
1460
  "",
1461
  "",
1462
- source_fields_report
1463
  )
1464
 
1465
  with gr.Column(scale=1):
@@ -1541,62 +1546,6 @@ with gr.Blocks(theme="default") as demo:
1541
 
1542
  return chosen_approach_val, p1, p2, "", "", "", "", "", "", source_fields_report
1543
 
1544
- description.change(
1545
- fn=params_change_wrapper,
1546
- inputs=[
1547
- description, product_name, benefits, key_message,
1548
- gender_dropdown, generation_dropdown, psychotype_dropdown,
1549
- business_stage_dropdown, industry_dropdown, opf_dropdown
1550
- ],
1551
- outputs=[
1552
- chosen_approach, prompt_1, prompt_2,
1553
- sms_1, sms_2, comment_sms_1, comment_sms_2, corrected_sms_1, corrected_sms_2,
1554
- source_check_md
1555
- ]
1556
- )
1557
-
1558
- product_name.change(
1559
- fn=params_change_wrapper,
1560
- inputs=[
1561
- description, product_name, benefits, key_message,
1562
- gender_dropdown, generation_dropdown, psychotype_dropdown,
1563
- business_stage_dropdown, industry_dropdown, opf_dropdown
1564
- ],
1565
- outputs=[
1566
- chosen_approach, prompt_1, prompt_2,
1567
- sms_1, sms_2, comment_sms_1, comment_sms_2, corrected_sms_1, corrected_sms_2,
1568
- source_check_md
1569
- ]
1570
- )
1571
-
1572
- benefits.change(
1573
- fn=params_change_wrapper,
1574
- inputs=[
1575
- description, product_name, benefits, key_message,
1576
- gender_dropdown, generation_dropdown, psychotype_dropdown,
1577
- business_stage_dropdown, industry_dropdown, opf_dropdown
1578
- ],
1579
- outputs=[
1580
- chosen_approach, prompt_1, prompt_2,
1581
- sms_1, sms_2, comment_sms_1, comment_sms_2, corrected_sms_1, corrected_sms_2,
1582
- source_check_md
1583
- ]
1584
- )
1585
-
1586
- key_message.change(
1587
- fn=params_change_wrapper,
1588
- inputs=[
1589
- description, product_name, benefits, key_message,
1590
- gender_dropdown, generation_dropdown, psychotype_dropdown,
1591
- business_stage_dropdown, industry_dropdown, opf_dropdown
1592
- ],
1593
- outputs=[
1594
- chosen_approach, prompt_1, prompt_2,
1595
- sms_1, sms_2, comment_sms_1, comment_sms_2, corrected_sms_1, corrected_sms_2,
1596
- source_check_md
1597
- ]
1598
- )
1599
-
1600
  client_params = [gender_dropdown, generation_dropdown, psychotype_dropdown,
1601
  business_stage_dropdown, industry_dropdown, opf_dropdown]
1602
  for cp in client_params:
@@ -1618,6 +1567,12 @@ with gr.Blocks(theme="default") as demo:
1618
  outputs=[sms_1, sms_2, final_prompt_1_state, final_prompt_2_state, checks_sms_1, checks_sms_2]
1619
  )
1620
 
 
 
 
 
 
 
1621
  regen_btn.click(
1622
  fn=on_regenerate,
1623
  inputs=[
 
823
  return gr.update(value="Я предпочитаю это SMS", visible=True)
824
 
825
  def check_source_fields(description, product_name, benefits, key_message):
 
826
  results = []
827
 
828
  # Проверяем "Описание предложения"
829
  desc_checks = perform_checks(description, "")
830
+ not_passed_desc = extract_failed_checks(desc_checks)
831
  if not_passed_desc:
832
  results.append(f"Описание предложения:\n{not_passed_desc}")
833
 
 
850
  results.append(f"Ключевое сообщение:\n{not_passed_km}")
851
 
852
  if not results:
 
853
  return "Проверка исходных данных пройдена"
854
  else:
 
855
  return "\n\n".join(results)
856
 
857
 
858
+ def on_check_source_fields(description, product_name, benefits, key_message):
859
+ """
860
+ Вызывается при нажатии кнопки «Проверить исходные данные».
861
+ """
862
+ return check_source_fields(description, product_name, benefits, key_message)
863
+
864
+
865
  def extract_failed_checks(checks_dict):
866
  lines = []
867
  for rule_key, result in checks_dict.items():
 
1420
  product_name = gr.Textbox(label="Наименование продукта", lines=1, value="", interactive=True)
1421
  benefits = gr.Textbox(label="Преимущества", lines=6, value="", interactive=True)
1422
  key_message = gr.Textbox(label="Ключевое сообщение", lines=2, value="")
1423
+ check_source_btn = gr.Button("Проверить исходные данные")
1424
+ source_check_md = gr.Textbox(label="Результат проверки исходных данных", lines=3, value="")
1425
 
1426
  def on_product_change(selected, description, product_name, benefits, key_message,
1427
  gender, generation, psychotype, business_stage, industry, opf):
 
1464
  "",
1465
  "",
1466
  "",
1467
+ ""
1468
  )
1469
 
1470
  with gr.Column(scale=1):
 
1546
 
1547
  return chosen_approach_val, p1, p2, "", "", "", "", "", "", source_fields_report
1548
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1549
  client_params = [gender_dropdown, generation_dropdown, psychotype_dropdown,
1550
  business_stage_dropdown, industry_dropdown, opf_dropdown]
1551
  for cp in client_params:
 
1567
  outputs=[sms_1, sms_2, final_prompt_1_state, final_prompt_2_state, checks_sms_1, checks_sms_2]
1568
  )
1569
 
1570
+ check_source_btn.click(
1571
+ fn=on_check_source_fields,
1572
+ inputs=[description, product_name, benefits, key_message],
1573
+ outputs=[source_check_md]
1574
+ )
1575
+
1576
  regen_btn.click(
1577
  fn=on_regenerate,
1578
  inputs=[