Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -181,50 +181,6 @@ def generate_display_prompts(description, product_name, benefits, key_message, c
|
|
181 |
Убедись, что в SMS есть следующая ключевая информация: «{key_message}»."""
|
182 |
return prompt_1, prompt_2
|
183 |
|
184 |
-
def generate_model_prompt(description, product_name, benefits, key_message,
|
185 |
-
gender, generation, psychotype, business_stage, industry, opf,
|
186 |
-
single_approach):
|
187 |
-
prefix = approach_dict[single_approach]["prefix"]
|
188 |
-
suffix = approach_dict[single_approach]["suffix"]
|
189 |
-
instructions_data = [
|
190 |
-
(gender, genders_data, "Пол"),
|
191 |
-
(generation, generations_data, "Поколение"),
|
192 |
-
(psychotype, psychotypes_data, "Психотип"),
|
193 |
-
(business_stage, business_stages_data, "Стадия бизнеса"),
|
194 |
-
(industry, industries_data, "Отрасль"),
|
195 |
-
(opf, opfs_data, "ОПФ")
|
196 |
-
]
|
197 |
-
chosen_params_instructions = []
|
198 |
-
for (param_value, df, col) in instructions_data:
|
199 |
-
instr1 = get_instructions_for_param(param_value, df, col)
|
200 |
-
if instr1:
|
201 |
-
chosen_params_instructions.append(instr1)
|
202 |
-
if chosen_params_instructions:
|
203 |
-
lines = []
|
204 |
-
for i, instr_line in enumerate(chosen_params_instructions, start=1):
|
205 |
-
formatted_line = format_instruction_string(instr_line)
|
206 |
-
lines.append(f"{i}. {formatted_line}.")
|
207 |
-
mandatory_terms = "\n".join(lines)
|
208 |
-
else:
|
209 |
-
mandatory_terms = None
|
210 |
-
if mandatory_terms:
|
211 |
-
model_prompt = f"""Напиши три или четыре предложения суммарной длиной от 160 до 250 знаков с учетом пробелов. {prefix}.
|
212 |
-
Напиши рекламное SMS для следующего продукта:
|
213 |
-
«{description}».
|
214 |
-
Не изменяй название продукта: «{product_name}».
|
215 |
-
Преимущества:
|
216 |
-
«{benefits}».
|
217 |
-
ОБЯЗАТЕЛЬНО используй в SMS КАЖДЫЙ из следующих терминов, касающиеся клиента, которому направляется SMS:
|
218 |
-
{mandatory_terms}
|
219 |
-
Убедись, что написал не меньше трех и не больше четырех предложений.
|
220 |
-
{suffix}.
|
221 |
-
Убедись, что УМЕСТНО использовал КАЖДЫЙ необходимый термин.
|
222 |
-
Убедись, что в SMS без изменений, синонимов и перестановок слов используется наименование продукта: «{product_name}».
|
223 |
-
Убедись, что в SMS есть следующая ключевая информация: «{key_message}»."""
|
224 |
-
else:
|
225 |
-
model_prompt = ""
|
226 |
-
return model_prompt
|
227 |
-
|
228 |
def call_model(model_prompt):
|
229 |
completion = client.chat.completions.create(
|
230 |
model="grok-2-1212",
|
@@ -396,7 +352,7 @@ with gr.Blocks(theme="default") as demo:
|
|
396 |
description = gr.Textbox(label="Описание предложения", lines=5, value="", interactive=True)
|
397 |
product_name = gr.Textbox(label="Наименование продукта", lines=1, value="", interactive=True)
|
398 |
benefits = gr.Textbox(label="Преимущества", lines=9, value="", interactive=True)
|
399 |
-
key_message = gr.Textbox(label="Ключевое сообщение", lines=2, value=""
|
400 |
|
401 |
def on_product_change(selected, description, product_name, benefits, key_message,
|
402 |
gender, generation, psychotype, business_stage, industry, opf):
|
@@ -448,11 +404,12 @@ with gr.Blocks(theme="default") as demo:
|
|
448 |
model_1_name = gr.Textbox(label="Модель 1", value="Grok-2-1212", interactive=False)
|
449 |
prompt_1 = gr.Textbox(label="Промпт 1", value="", interactive=False, lines=10)
|
450 |
sms_1 = gr.Textbox(label="SMS 1", lines=3, value="", interactive=False)
|
|
|
451 |
with gr.Column():
|
452 |
model_2_name = gr.Textbox(label="Модель 2", value="Grok-2-1212", interactive=False)
|
453 |
prompt_2 = gr.Textbox(label="Промпт 2", value="", interactive=False, lines=10)
|
454 |
sms_2 = gr.Textbox(label="SMS 2", lines=3, value="", interactive=False)
|
455 |
-
|
456 |
with gr.Row():
|
457 |
prefer_sms_1_btn = gr.Button("Я предпочитаю это SMS (кнопка пока не работает)")
|
458 |
prefer_sms_2_btn = gr.Button("Я предпочитаю это SMS (кнопка пока не работает)")
|
|
|
181 |
Убедись, что в SMS есть следующая ключевая информация: «{key_message}»."""
|
182 |
return prompt_1, prompt_2
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
def call_model(model_prompt):
|
185 |
completion = client.chat.completions.create(
|
186 |
model="grok-2-1212",
|
|
|
352 |
description = gr.Textbox(label="Описание предложения", lines=5, value="", interactive=True)
|
353 |
product_name = gr.Textbox(label="Наименование продукта", lines=1, value="", interactive=True)
|
354 |
benefits = gr.Textbox(label="Преимущества", lines=9, value="", interactive=True)
|
355 |
+
key_message = gr.Textbox(label="Ключевое сообщение", lines=2, value="")
|
356 |
|
357 |
def on_product_change(selected, description, product_name, benefits, key_message,
|
358 |
gender, generation, psychotype, business_stage, industry, opf):
|
|
|
404 |
model_1_name = gr.Textbox(label="Модель 1", value="Grok-2-1212", interactive=False)
|
405 |
prompt_1 = gr.Textbox(label="Промпт 1", value="", interactive=False, lines=10)
|
406 |
sms_1 = gr.Textbox(label="SMS 1", lines=3, value="", interactive=False)
|
407 |
+
|
408 |
with gr.Column():
|
409 |
model_2_name = gr.Textbox(label="Модель 2", value="Grok-2-1212", interactive=False)
|
410 |
prompt_2 = gr.Textbox(label="Промпт 2", value="", interactive=False, lines=10)
|
411 |
sms_2 = gr.Textbox(label="SMS 2", lines=3, value="", interactive=False)
|
412 |
+
|
413 |
with gr.Row():
|
414 |
prefer_sms_1_btn = gr.Button("Я предпочитаю это SMS (кнопка пока не работает)")
|
415 |
prefer_sms_2_btn = gr.Button("Я предпочитаю это SMS (кнопка пока не работает)")
|