Spaces:
Sleeping
Sleeping
fruitpicker01
commited on
Commit
•
9127d4d
1
Parent(s):
f12136c
Update app.py
Browse files
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 |
-
# Генерация
|
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 |
-
|
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,
|
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, # Второе неперсонализированное сообщение
|