Spaces:
Sleeping
Sleeping
fruitpicker01
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -4,7 +4,7 @@ import os
|
|
4 |
import pandas as pd
|
5 |
import time
|
6 |
from langchain.schema import SystemMessage
|
7 |
-
from langchain_community.chat_models.gigachat import GigaChat
|
8 |
from openpyxl import load_workbook
|
9 |
import plotly.graph_objects as go
|
10 |
import random
|
@@ -661,7 +661,6 @@ def clean_prompt_for_display(prompt, prefixes, suffixes):
|
|
661 |
# Функция для постепенной генерации всех сообщений через yield
|
662 |
def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
|
663 |
standard_prompt = generate_standard_prompt(desc, benefits, key_message)
|
664 |
-
# Определение подходов
|
665 |
approach_mapping = {
|
666 |
"Указание на пользу": (
|
667 |
"Начни сообщение с указания на пользу продукта. Используй глагол в побудительном наклонении.",
|
@@ -693,19 +692,31 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
|
|
693 |
if matching_rows.empty:
|
694 |
gr.Warning("Подход не найден для выбранных параметров.")
|
695 |
return
|
696 |
-
|
697 |
for approaches in matching_rows['Подход']:
|
698 |
approach_names = [a.strip() for a in approaches.split(',')]
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
yield selected_approaches_text_content, standard_prompt, None, None, None
|
704 |
-
|
705 |
non_personalized_messages = ''
|
706 |
personalized_messages = ''
|
707 |
flag = 1
|
708 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
709 |
if approach_name not in approach_mapping:
|
710 |
gr.Warning(f"Неизвестный подход: {approach_name}")
|
711 |
continue
|
|
|
4 |
import pandas as pd
|
5 |
import time
|
6 |
from langchain.schema import SystemMessage
|
7 |
+
#from langchain_community.chat_models.gigachat import GigaChat
|
8 |
from openpyxl import load_workbook
|
9 |
import plotly.graph_objects as go
|
10 |
import random
|
|
|
661 |
# Функция для постепенной генерации всех сообщений через yield
|
662 |
def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
|
663 |
standard_prompt = generate_standard_prompt(desc, benefits, key_message)
|
|
|
664 |
approach_mapping = {
|
665 |
"Указание на пользу": (
|
666 |
"Начни сообщение с указания на пользу продукта. Используй глагол в побудительном наклонении.",
|
|
|
692 |
if matching_rows.empty:
|
693 |
gr.Warning("Подход не найден для выбранных параметров.")
|
694 |
return
|
695 |
+
approach_list = []
|
696 |
for approaches in matching_rows['Подход']:
|
697 |
approach_names = [a.strip() for a in approaches.split(',')]
|
698 |
+
approach_list.extend(approach_names)
|
699 |
+
approach_list = list(set(approach_list)) # Убираем дубликаты
|
700 |
+
selected_approaches_text_content = ', '.join(approach_list)
|
701 |
+
|
702 |
yield selected_approaches_text_content, standard_prompt, None, None, None
|
703 |
+
|
704 |
non_personalized_messages = ''
|
705 |
personalized_messages = ''
|
706 |
flag = 1
|
707 |
+
|
708 |
+
# Подготовим список подходов для генерации 3 сообщений
|
709 |
+
if len(approach_list) == 0:
|
710 |
+
gr.Warning("Не выбрано ни одного подхода.")
|
711 |
+
return
|
712 |
+
elif len(approach_list) == 1:
|
713 |
+
approaches_for_messages = [approach_list[0]] * 3
|
714 |
+
elif len(approach_list) >= 2:
|
715 |
+
approaches_for_messages = [approach_list[0], approach_list[1], approach_list[0]]
|
716 |
+
else:
|
717 |
+
approaches_for_messages = approach_list[:3]
|
718 |
+
|
719 |
+
for approach_name in approaches_for_messages:
|
720 |
if approach_name not in approach_mapping:
|
721 |
gr.Warning(f"Неизвестный подход: {approach_name}")
|
722 |
continue
|