Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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)
|
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 |
-
|
|
|
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 |
-
|
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=[
|