Spaces:
Sleeping
Sleeping
michecosta
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -8,14 +8,16 @@ def clean_text_from_file(file_path):
|
|
8 |
|
9 |
def generate_narrative_arc(narrative_arc):
|
10 |
narrative_mapping = {
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
}
|
18 |
return narrative_mapping.get(narrative_arc, "")
|
|
|
|
|
19 |
|
20 |
def generate_marketing_model(marketing_model):
|
21 |
if marketing_model in ["PAS", "AIDA", "BAB", "4Cs", "So What", "PPPP", "SSS", "FAB", "SLAP", "4Us"]:
|
@@ -194,6 +196,12 @@ def generate_response(input_testuale_utente, tones, output_type, narrative_arc,m
|
|
194 |
inseriscono in un flusso di altri suggeirmenti già forniti, quindi il tuo contenuto non deve essere percepito come ripetitivo e come primo approccio. Inserisciti come
|
195 |
se nel flusso di lavoro le tue indicazioni siano solo uno step all'interno di altri (visione integrata)
|
196 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
|
198 |
|
199 |
|
@@ -237,64 +245,12 @@ def generate_response(input_testuale_utente, tones, output_type, narrative_arc,m
|
|
237 |
marketing_models_table_html = generate_marketing_models_table_html()
|
238 |
|
239 |
|
240 |
-
if output_type == "REVIEW Reply":
|
241 |
-
assistant_message += f"""\n\n Scrivi in {language_choosen} una magnifica e curata risposta a questa recensione '{inject_personification(personification_focus)}'
|
242 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}'.
|
243 |
-
\n\n Usa un tono {', '.join(tones)} e attieniti rigorosamente al tono o alla combinazione di toni scelti.
|
244 |
-
"""
|
245 |
-
elif output_type == "EMAIL Reply":
|
246 |
-
assistant_message += f"""\n\n crea una risposta a questa email in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
247 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}' riguardante l'argomento proposto nel testo di input.
|
248 |
-
"""
|
249 |
-
elif output_type == "Facebook Post":
|
250 |
-
assistant_message += f"""\n\n crea un post per Facebook in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
251 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}' riguardante l'argomento proposto nel testo di input.
|
252 |
-
"""
|
253 |
-
elif output_type == "Instagram Post":
|
254 |
-
assistant_message += f"""\n\n crea un post per Instagram in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
255 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}' riguardante l'argomento proposto nel testo di input.
|
256 |
-
"""
|
257 |
-
elif output_type == "Linkedin Post":
|
258 |
-
assistant_message += f"""\n\n crea un post per Linkedin in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
259 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}' riguardante l'argomento proposto nel testo di input.
|
260 |
-
"""
|
261 |
-
assistant_message += """\n\n Impersona e scrivi con la personalità che puoi dedurre dal profilo di Michele Costantini: a pioneer in integrating Neuromarketing and AI in Tourism,
|
262 |
-
specializing in NFT hotel bookings, authoring 2 books on Touristic Neuromarketing, and developing Marketing strategies in the Metaverse.
|
263 |
-
working in a AI-Neuromarketing hub for hotel profit amplification, networking,
|
264 |
-
and empowering the next generation of hospitality professionals."""
|
265 |
-
|
266 |
-
|
267 |
-
elif output_type == "NEWSLETTER":
|
268 |
-
assistant_message += f"""\n\n crea un nuovo numero della newsletter dell'Hotel in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
269 |
-
usando esclusivamente il seguente arco narrativo: '{generate_narrative_arc(narrative_arc)}' e la struttura di copywriting '{generate_marketing_model(marketing_model)}' riguardante l'argomento proposto nel testo di input.
|
270 |
-
"""
|
271 |
-
|
272 |
-
elif output_type == "Ideas":
|
273 |
-
assistant_message += f"""\n\n Fornisci immediatamente suggerimenti tecnici esperti in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
274 |
-
usando le tue enormi e aggiornatissime conoscenze riguardante l'argomento richiesto.
|
275 |
-
La strategia dovrà essere attuabile dal ricevimento e marketing di un boutique hotel come descritto nel contesto (context)
|
276 |
-
"""
|
277 |
-
|
278 |
-
elif output_type == "Coaching":
|
279 |
-
assistant_message += f"""\n\n Fornisci immediatamente suggerimenti tecnici esperti in maniera fluida e non prolissa in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
280 |
-
usando le tue enormi e aggiornatissime conoscenze riguardante il coaching di leader mondiali.
|
281 |
-
La tua consulenza empatica dovrà essere assertiva, positiva, inclusiva, gentile e ispirante, e
|
282 |
-
dovrà sopratuttto essere attuabile per il direttore dell'hotel (49 anni, da 12 alla guida dell'hotel) nel contesto del boutique hotel come descritto nel contesto (context)
|
283 |
-
"""
|
284 |
-
elif output_type == "Hotel Management":
|
285 |
-
assistant_message += f"""\n\n (hai 49 anni, da 12 alla guida dell'hotel) fornisci immediatamente suggerimenti tecnici esperti in maniera fluida e non prolissa in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
286 |
-
usando le tue enormi e aggiornatissime conoscenze riguardante l'Hotel Management e coaching di hotel manager di livello mondiale.
|
287 |
-
Il tuo apporto empatico dovrà essere assertivo, positivo, inclusivo, gentile e ispirante, e
|
288 |
-
dovrà sopratuttto essere attuabile dal personale dell'hotel (incluso te stesso) nel contesto del boutique hotel come descritto nel contesto (context). Tieni conto che le tue istruzioni e suggerimenti si
|
289 |
-
inseriscono in un flusso di altri suggeirmenti già forniti, quindi il tuo contenuto non deve essere percepito come ripetitivo e come primo approccio. Inserisciti come
|
290 |
-
se nel flusso di lavoro le tue indicazioni siano solo uno step all'interno di altri (visione integrata)
|
291 |
-
"""
|
292 |
-
|
293 |
|
294 |
|
295 |
|
296 |
|
297 |
assistant_message += clean_text_from_file('hotel_core_info.txt')
|
|
|
298 |
|
299 |
|
300 |
|
@@ -313,7 +269,7 @@ def generate_response(input_testuale_utente, tones, output_type, narrative_arc,m
|
|
313 |
return output_html, output_textbox_2
|
314 |
|
315 |
choices = ["📝 Formal", "🎉 Informal", "📏 Long", "📐 Short", "💡 Inspiring", "😄 Ironic"]
|
316 |
-
output_types = ["REVIEW Reply", "Facebook Post", "Instagram Post", "Linkedin Post","whatsapp", "EMAIL Reply", "NEWSLETTER", "Marketing Strategy", "Coaching", "Hotel Management"]
|
317 |
narrative_arcs = ["Hero's Journey", "Story Cycle", "Motivation Sequence", "Narrative Transportation", "Narrative Persuasion", "Conciso"]
|
318 |
marketing_models = ["Nessuno","PAS", "AIDA", "BAB", "4Cs","So What","PPPP","SSS","FAB","SLAP","4Us"]
|
319 |
personifications = ["🏨 Brand / Hotel", "🧑🏫 Coach", "👨💼 Hotel Manager", "🌿 Glerida", "👩 Giulia", "🛎️ Reception"]
|
|
|
8 |
|
9 |
def generate_narrative_arc(narrative_arc):
|
10 |
narrative_mapping = {
|
11 |
+
"Hero's Journey": "Using the \"Hero's Journey\" (a classic storytelling structure where the protagonist goes through departure, initiation, and return phases, facing challenges and undergoing transformation).",
|
12 |
+
"Story Cycle": "Using the \"Story Cycle\" (a recurring sequence of narrative events or situations that form a pattern, often seen in episodic or serial narratives).",
|
13 |
+
"Motivation Sequence": "Using the \"Motivation Sequence\" (a series of events or actions that drive the protagonist's desires, goals, and motivations, propelling the story forward).",
|
14 |
+
"Narrative Transportation": "Using the \"Narrative Transportation\" (the phenomenon where readers become immersed and transported into the narrative world, temporarily detaching from their real-world surroundings).",
|
15 |
+
"Narrative Persuasion": "Using the \"Narrative Persuasion\" (the use of storytelling to influence attitudes, beliefs, or behaviors by presenting arguments or perspectives through a narrative format).",
|
16 |
+
"Conciso": "Using the \"Concise Style\" (concise and extremely brief, conveying the essence of a narrative arc or structure in a highly condensed form)."
|
17 |
}
|
18 |
return narrative_mapping.get(narrative_arc, "")
|
19 |
+
|
20 |
+
|
21 |
|
22 |
def generate_marketing_model(marketing_model):
|
23 |
if marketing_model in ["PAS", "AIDA", "BAB", "4Cs", "So What", "PPPP", "SSS", "FAB", "SLAP", "4Us"]:
|
|
|
196 |
inseriscono in un flusso di altri suggeirmenti già forniti, quindi il tuo contenuto non deve essere percepito come ripetitivo e come primo approccio. Inserisciti come
|
197 |
se nel flusso di lavoro le tue indicazioni siano solo uno step all'interno di altri (visione integrata)
|
198 |
"""
|
199 |
+
elif output_type == "Ideas":
|
200 |
+
assistant_message += f"""\n\n Fornisci immediatamente suggerimenti tecnici esperti in {language_choosen} con un tono {', '.join(tones)} '{inject_personification(personification_focus)}'
|
201 |
+
usando le tue enormi e aggiornatissime conoscenze riguardante l'argomento richiesto.
|
202 |
+
La strategia dovrà essere attuabile dal ricevimento e marketing di un boutique hotel come descritto nel contesto (context)
|
203 |
+
"""
|
204 |
+
|
205 |
|
206 |
|
207 |
|
|
|
245 |
marketing_models_table_html = generate_marketing_models_table_html()
|
246 |
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
|
249 |
|
250 |
|
251 |
|
252 |
assistant_message += clean_text_from_file('hotel_core_info.txt')
|
253 |
+
#assistant_message += clean_text_from_file('/Users/michelecostantini/Desktop/crewAI/hotel_core_info.txt')
|
254 |
|
255 |
|
256 |
|
|
|
269 |
return output_html, output_textbox_2
|
270 |
|
271 |
choices = ["📝 Formal", "🎉 Informal", "📏 Long", "📐 Short", "💡 Inspiring", "😄 Ironic"]
|
272 |
+
output_types = ["REVIEW Reply", "Facebook Post", "Instagram Post", "Linkedin Post","whatsapp", "EMAIL Reply", "NEWSLETTER", "Marketing Strategy", "Coaching", "Hotel Management", "Ideas"]
|
273 |
narrative_arcs = ["Hero's Journey", "Story Cycle", "Motivation Sequence", "Narrative Transportation", "Narrative Persuasion", "Conciso"]
|
274 |
marketing_models = ["Nessuno","PAS", "AIDA", "BAB", "4Cs","So What","PPPP","SSS","FAB","SLAP","4Us"]
|
275 |
personifications = ["🏨 Brand / Hotel", "🧑🏫 Coach", "👨💼 Hotel Manager", "🌿 Glerida", "👩 Giulia", "🛎️ Reception"]
|