fruitpicker01 commited on
Commit
9127d4d
1 Parent(s): f12136c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -21
app.py CHANGED
@@ -197,6 +197,7 @@ def generate_personalization_prompt(key_message, prefix, suffix, *selected_value
197
  return prompt.strip()
198
 
199
 
 
200
  # Функция для постепенной генерации всех сообщений через yield
201
  def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
202
  # Генерация задания для копирайтера
@@ -206,7 +207,14 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
206
  # Небольшая пауза для демонстрации постепенной генерации
207
  time.sleep(1)
208
 
209
- # Варианты предложений для начала и конца
 
 
 
 
 
 
 
210
  prefixes = [
211
  "Начни сообщение с призыва к действию с продуктом.",
212
  "Начни сообщение с указания на пользу продукта. Используй глагол в побудительном наклонении.",
@@ -223,38 +231,23 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
223
 
224
  # Генерация и постепенная подача каждого сообщения
225
  for i in range(3):
226
- # Генерация задания для редактора с использованием 'prefixes' и 'suffixes'
227
- personalization_prompt = generate_personalization_prompt(key_message, gender, generation, psychotype, business_stage, industry, opf)
228
- prompt_with_prefix_suffix = add_prefix_suffix(personalization_prompt, prefixes[i], suffixes[i])
229
-
230
- # Генерация неперсонализированного сообщения
231
  prompt = add_prefix_suffix(standard_prompt, prefixes[i], suffixes[i])
232
  non_personalized_message = generate_message_gigachat_pro_with_retry(prompt)
233
  non_personalized_length = len(non_personalized_message) # Подсчитываем количество знаков
234
  non_personalized_display = f"{non_personalized_message}\n------\nКоличество знаков: {non_personalized_length}"
235
  non_personalized_messages.append(non_personalized_display)
236
 
237
- # Выводим неперсонализированное сообщение
238
- yield (
239
- standard_prompt, prompt_with_prefix_suffix, # Задания для копирайтера и редактора
240
- non_personalized_messages[0] if i >= 0 else None, # Первое неперсонализированное сообщение
241
- personalized_messages[0] if len(personalized_messages) > 0 else None, # Первое персонализированное сообщение, если оно уже есть
242
- non_personalized_messages[1] if i >= 1 else None, # Второе неперсонализированное сообщение
243
- personalized_messages[1] if len(personalized_messages) > 1 else None, # Второе персонализированное сообщение, если оно уже есть
244
- non_personalized_messages[2] if i >= 2 else None, # Третье неперсонализированное сообщение
245
- personalized_messages[2] if len(personalized_messages) > 2 else None # Третье персонализированное сообщение, если оно уже есть
246
- )
247
-
248
- # Генерация персонализированного сообщения
249
- full_personalized_prompt = f"{prompt_with_prefix_suffix}\n\nТекст для адаптации: {non_personalized_message}"
250
  personalized_message = generate_message_gigachat_pro_with_retry(full_personalized_prompt)
251
  personalized_length = len(personalized_message) # Подсчитываем количество знаков
252
  personalized_display = f"{personalized_message}\n------\nКоличество знаков: {personalized_length}"
253
  personalized_messages.append(personalized_display)
254
 
255
- # Выводим персонализированное сообщение
256
  yield (
257
- standard_prompt, prompt_with_prefix_suffix, # Задания для копирайтера и редактора
258
  non_personalized_messages[0] if len(non_personalized_messages) > 0 else None, # Первое неперсонализированное сообщение
259
  personalized_messages[0] if len(personalized_messages) > 0 else None, # Первое персонализированное сообщение
260
  non_personalized_messages[1] if len(non_personalized_messages) > 1 else None, # Второе неперсонализированное сообщение
 
197
  return prompt.strip()
198
 
199
 
200
+ # Функция для постепенной генерации всех сообщений через yield
201
  # Функция для постепенной генерации всех сообщений через yield
202
  def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
203
  # Генерация задания для копирайтера
 
207
  # Небольшая пауза для демонстрации постепенной генерации
208
  time.sleep(1)
209
 
210
+ # Генерация задания для редактора (без префиксов и суффиксов, основа задания для редактора)
211
+ personalization_prompt = generate_personalization_prompt(key_message, gender, generation, psychotype, business_stage, industry, opf)
212
+ yield standard_prompt, personalization_prompt, None, None, None, None, None, None
213
+
214
+ # Небольшая пауза для демонстрации постепенной генерации
215
+ time.sleep(1)
216
+
217
+ # Варианты предложений для начала и конца (эти префиксы и суффиксы будут использованы в сообщениях, но не видны пользователю)
218
  prefixes = [
219
  "Начни сообщение с призыва к действию с продуктом.",
220
  "Начни сообщение с указания на пользу продукта. Используй глагол в побудительном наклонении.",
 
231
 
232
  # Генерация и постепенная подача каждого сообщения
233
  for i in range(3):
234
+ # Генерация неперсонализированного сообщения для копирайтера
 
 
 
 
235
  prompt = add_prefix_suffix(standard_prompt, prefixes[i], suffixes[i])
236
  non_personalized_message = generate_message_gigachat_pro_with_retry(prompt)
237
  non_personalized_length = len(non_personalized_message) # Подсчитываем количество знаков
238
  non_personalized_display = f"{non_personalized_message}\n------\nКоличество знаков: {non_personalized_length}"
239
  non_personalized_messages.append(non_personalized_display)
240
 
241
+ # Генерация персонализированного сообщения с добавлением префикса и суффикса для внутренней логики, но без изменения видимого задания для редактора
242
+ full_personalized_prompt = add_prefix_suffix(personalization_prompt, prefixes[i], suffixes[i])
 
 
 
 
 
 
 
 
 
 
 
243
  personalized_message = generate_message_gigachat_pro_with_retry(full_personalized_prompt)
244
  personalized_length = len(personalized_message) # Подсчитываем количество знаков
245
  personalized_display = f"{personalized_message}\n------\nКоличество знаков: {personalized_length}"
246
  personalized_messages.append(personalized_display)
247
 
248
+ # Выводим сообщения
249
  yield (
250
+ standard_prompt, personalization_prompt, # Задания для копирайтера и редактора (без префиксов и суффиксов)
251
  non_personalized_messages[0] if len(non_personalized_messages) > 0 else None, # Первое неперсонализированное сообщение
252
  personalized_messages[0] if len(personalized_messages) > 0 else None, # Первое персонализированное сообщение
253
  non_personalized_messages[1] if len(non_personalized_messages) > 1 else None, # Второе неперсонализированное сообщение