fruitpicker01 commited on
Commit
d64c3fe
·
verified ·
1 Parent(s): 010d2bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -10
app.py CHANGED
@@ -53,7 +53,7 @@ for sheet_name, df in data.items():
53
  current_request_index = -1 # Изначально указывает на последний запрос
54
 
55
 
56
- def save_user_request_to_github(description, advantages, personalization_params):
57
 
58
  global current_request_index # Используем глобальную переменную
59
  current_request_index = -1 # Сбрасываем позицию к последнему запросу
@@ -62,6 +62,8 @@ def save_user_request_to_github(description, advantages, personalization_params)
62
  data_to_save = {
63
  "description": description,
64
  "advantages": advantages,
 
 
65
  "personalization_params": personalization_params,
66
  "timestamp": time.time()
67
  }
@@ -108,7 +110,7 @@ def load_previous_user_request_from_github():
108
 
109
  if not json_files:
110
  print("Нет сохраненных запросов.")
111
- return "", "", None, None, None, None, None, None
112
 
113
  # Определяем новый индекс для загрузки предыдущего файла
114
  current_request_index -= 1
@@ -128,20 +130,30 @@ def load_previous_user_request_from_github():
128
  description = data.get('description', "")
129
  advantages = data.get('advantages', "")
130
  personalization_params = data.get('personalization_params', [None] * 6) # Убедитесь, что размер списка соответствует количеству полей
 
 
131
 
132
  # Возвращаем данные по отдельности для каждого компонента Gradio
133
- return description, advantages, *personalization_params
134
  else:
135
  print(f"Ошибка при загрузке файла: {file_response.status_code}")
136
- return "", "", None, None, None, None, None, None
137
  else:
138
  print(f"Ошибка при обращении к GitHub: {response.status_code}")
139
- return "", "", None, None, None, None, None, None
140
 
141
 
142
  # Функция для генерации стандартного промпта
143
- def generate_standard_prompt(description, advantages, *selected_values):
144
- prompt = (
 
 
 
 
 
 
 
 
145
  "Сгенерируй смс-сообщение для клиента.\n"
146
  "Начни сообщение с призыва к действию с продуктом.\n"
147
  f"Описание предложения: {description}\n"
@@ -176,6 +188,10 @@ def generate_standard_prompt(description, advantages, *selected_values):
176
  "- Речевые клише, рекламные штампы, канцеляризмы;\n"
177
  "Убедись, что в готовом тексте до 250 знаков с пробелами."
178
  )
 
 
 
 
179
  return prompt
180
 
181
  # Функции для генерации сообщений
@@ -881,6 +897,19 @@ with gr.Blocks() as demo:
881
  "Мгновенные переводы на карты любых банков."
882
  )
883
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
884
  selections = []
885
  for feature in features.keys():
886
  if feature not in ["Пол Поколение Психотип"]: # Исключаем этот лист из выбора
@@ -1018,7 +1047,7 @@ with gr.Blocks() as demo:
1018
 
1019
  submit_btn.click(
1020
  generate_messages,
1021
- inputs=[description_input, advantages_input] + selections,
1022
  outputs=[
1023
  prompt_display,
1024
  output_text_gpt4o,
@@ -1086,7 +1115,9 @@ with gr.Blocks() as demo:
1086
  output_text_gemma_9b,
1087
  output_text_mistral, # Входные данные для персонализации
1088
  description_input,
1089
- advantages_input
 
 
1090
  ] + selections,
1091
  outputs=[
1092
  personalization_prompt,
@@ -1103,7 +1134,6 @@ with gr.Blocks() as demo:
1103
  ]
1104
  )
1105
 
1106
-
1107
  # Обработка клика по кнопке восстановления
1108
  load_btn.click(
1109
  fn=lambda: load_previous_user_request_from_github(),
 
53
  current_request_index = -1 # Изначально указывает на последний запрос
54
 
55
 
56
+ def save_user_request_to_github(description, advantages, key_message, approach, personalization_params):
57
 
58
  global current_request_index # Используем глобальную переменную
59
  current_request_index = -1 # Сбрасываем позицию к последнему запросу
 
62
  data_to_save = {
63
  "description": description,
64
  "advantages": advantages,
65
+ "key_message": key_message,
66
+ "approach": approach,
67
  "personalization_params": personalization_params,
68
  "timestamp": time.time()
69
  }
 
110
 
111
  if not json_files:
112
  print("Нет сохраненных запросов.")
113
+ return "", "", "", "", None, None, None, None, None, None
114
 
115
  # Определяем новый индекс для загрузки предыдущего файла
116
  current_request_index -= 1
 
130
  description = data.get('description', "")
131
  advantages = data.get('advantages', "")
132
  personalization_params = data.get('personalization_params', [None] * 6) # Убедитесь, что размер списка соответствует количеству полей
133
+ key_message = data.get('key_message', "")
134
+ approach = data.get('approach', "")
135
 
136
  # Возвращаем данные по отдельности для каждого компонента Gradio
137
+ return description, advantages, key_message, approach, *personalization_params
138
  else:
139
  print(f"Ошибка при загрузке файла: {file_response.status_code}")
140
+ return "", "", "", "", None, None, None, None, None, None
141
  else:
142
  print(f"Ошибка при обращении к GitHub: {response.status_code}")
143
+ return "", "", "", "", None, None, None, None, None, None
144
 
145
 
146
  # Функция для генерации стандартного промпта
147
+ def generate_standard_prompt(description, advantages, key_message, approach, *selected_values):
148
+
149
+ if approach == "Призыв к действию":
150
+ prompt = "Сгенерируй смс-сообщение для клиента. Начни сообщение с призыва к действию с продуктом.\n"
151
+ elif approach == "Указание на пользу":
152
+ prompt = "Сгенерируй смс-сообщение для клиента. Начни сообщение с указания на пользу продукта. Используй глагол в побудительном наклонении.\n"
153
+ elif approach == "Вопрос":
154
+ prompt = "Сгенерируй смс-сообщение для клиента. Начни сообщение с вопроса, который указывает на пользу продукта для клиента.\n"
155
+
156
+ prompt += (
157
  "Сгенерируй смс-сообщение для клиента.\n"
158
  "Начни сообщение с призыва к действию с продуктом.\n"
159
  f"Описание предложения: {description}\n"
 
188
  "- Речевые клише, рекламные штампы, канцеляризмы;\n"
189
  "Убедись, что в готовом тексте до 250 знаков с пробелами."
190
  )
191
+
192
+ if key_message.strip():
193
+ prompt += f"Убедись, что в сообщении есть следующая ключевая информация: {key_message.strip()}"
194
+
195
  return prompt
196
 
197
  # Функции для генерации сообщений
 
897
  "Мгновенные переводы на карты любых банков."
898
  )
899
  )
900
+
901
+ key_message_input = gr.Textbox(
902
+ label="Ключевое сообщение (предзаполненный пример можно поменять на свой)",
903
+ lines=3,
904
+ value="Бесплатное обслуживание при покупках от 100 000 рублей в месяц."
905
+ )
906
+
907
+ approach_input = gr.Dropdown(
908
+ label="Подход",
909
+ choices=["Призыв к действию", "Указание на пользу", "Вопрос"],
910
+ value="Призыв к действию" # Default value
911
+ )
912
+
913
  selections = []
914
  for feature in features.keys():
915
  if feature not in ["Пол Поколение Психотип"]: # Исключаем этот лист из выбора
 
1047
 
1048
  submit_btn.click(
1049
  generate_messages,
1050
+ inputs=[description_input, advantages_input, key_message_input, approach_input] + selections,
1051
  outputs=[
1052
  prompt_display,
1053
  output_text_gpt4o,
 
1115
  output_text_gemma_9b,
1116
  output_text_mistral, # Входные данные для персонализации
1117
  description_input,
1118
+ advantages_input,
1119
+ key_message_input, # Add key_message_input
1120
+ approach_input, # Add approach_input
1121
  ] + selections,
1122
  outputs=[
1123
  personalization_prompt,
 
1134
  ]
1135
  )
1136
 
 
1137
  # Обработка клика по кнопке восстановления
1138
  load_btn.click(
1139
  fn=lambda: load_previous_user_request_from_github(),