fruitpicker01 commited on
Commit
c70c01b
·
verified ·
1 Parent(s): 3c26806

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -9
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
- approach_set = set()
697
  for approaches in matching_rows['Подход']:
698
  approach_names = [a.strip() for a in approaches.split(',')]
699
- approach_set.update(approach_names)
700
- selected_approaches_text_content = ', '.join(approach_set)
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
- for approach_name in approach_set:
 
 
 
 
 
 
 
 
 
 
 
 
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