michecosta commited on
Commit
e35be38
·
verified ·
1 Parent(s): 9183bd0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -60
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
- "Hero's Journey": "Il viaggio dell'eroe",
12
- "Story Cycle": "Il ciclo della storia",
13
- "Motivation Sequence": "La sequenza di motivazione",
14
- "Narrative Transportation": "Il trasporto narrativo",
15
- "Narrative Persuasion": "La persuasione narrativa",
16
- "Conciso": "Conciso e Super Stringato"
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"]