Spaces:
Running
Running
File size: 4,436 Bytes
d6d277f 520f04f d6d277f edbc1a6 d6d277f edbc1a6 d6d277f 520f04f d6d277f edbc1a6 b75ee17 edbc1a6 520f04f d6d277f 520f04f edbc1a6 b75ee17 edbc1a6 b75ee17 edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f edbc1a6 d6d277f 520f04f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# chatbot_prompts.py
import logging
def get_initial_insight_prompt_and_suggestions(plot_id: str, plot_label: str, plot_data_summary: str = None):
"""
Genera un prompt iniziale per l'LLM per fornire spunti su un grafico e domande suggerite.
Args:
plot_id (str): L'identificatore univoco del grafico.
plot_label (str): L'etichetta di visualizzazione del grafico.
plot_data_summary (str, optional): Un riassunto testuale dei dati del grafico.
Returns:
tuple: (prompt_for_llm_str, list_of_suggestion_strings)
"""
logging.info(f"Generazione del prompt di analisi iniziale per plot_id: {plot_id}, etichetta: {plot_label}")
base_persona_prompt = "Sei un esperto di Employer Branding e di strategia per i social media di LinkedIn. Analizza i seguenti dati per il grafico '{plot_label}' e fornisci spunti chiave e consigli pratici. Concentrati sull'interpretazione dei dati forniti."
prompt_text = f"{base_persona_prompt.format(plot_label=plot_label)}\n\n"
if plot_data_summary and plot_data_summary.strip() and \
"No data summary available" not in plot_data_summary and \
"Error generating data summary" not in plot_data_summary and \
"Accesso negato" not in plot_data_summary and \
f"Nessun sommario dati specifico disponibile per '{plot_label}'" not in plot_data_summary:
prompt_text += f"Istantanea dei dati per '{plot_label}':\n```text\n{plot_data_summary}\n```\n\n"
prompt_text += "Sulla base di questi dati e della tua esperienza, quali sono le osservazioni più importanti e quali passi possono essere intrapresi per migliorare o sfruttare queste tendenze? Fornisci un'analisi iniziale concisa."
else:
prompt_text += f"Nessuna istantanea di dati specifica è disponibile per '{plot_label}'. Fornisci spunti e consigli generali per migliorare le prestazioni relative a '{plot_label}' su LinkedIn, ipotizzando scenari tipici. Fornisci un'analisi iniziale concisa."
# Suggerimenti predefiniti
suggestions = [
f"Quali sono i fattori chiave per {plot_label.lower()} in base ai dati?",
f"Come posso migliorare i miei risultati per {plot_label.lower()} secondo queste tendenze?",
f"Come si presenta una buona performance per {plot_label.lower()}?"
]
# Personalizza i suggerimenti per plot_id
if plot_id == "followers_count":
suggestions = [
"In base ai dati sui follower, qual è stato il nostro periodo di massima crescita?",
"Con quale frequenza dovrei pubblicare per massimizzare la crescita dei follower?",
"Quale tipo di contenuto ha tipicamente più risonanza tra i potenziali follower?"
]
elif plot_id == "engagement_rate":
suggestions = [
"Cosa ci dice l'andamento del coinvolgimento sulla performance dei contenuti recenti?",
"Quali tipi di post ottengono tipicamente il maggior coinvolgimento?",
"Puoi darmi esempi di inviti all'azione (call to action) efficaci?"
]
elif plot_id == "reach_over_time":
suggestions = [
"Cosa suggeriscono i dati sulla copertura (reach) riguardo alla visibilità dei nostri contenuti?",
"Quali sono le strategie organiche efficaci per aumentare la copertura dei post?",
"In che modo gli hashtag e le strategie di tagging influenzano la copertura?"
]
elif plot_id == "impressions_over_time":
suggestions = [
"Come si confrontano le impressioni attuali con i periodi precedenti in base ai dati?",
"Qual è la differenza tra copertura (reach) e impressioni (impressions)?",
"L'algoritmo di LinkedIn favorisce determinati tipi di contenuti per le impressioni?"
]
elif plot_id == "comments_sentiment":
suggestions = [
"Cosa indica l'analisi del sentiment sulla percezione del pubblico?",
"Come posso incoraggiare più commenti positivi?",
"Qual è il modo migliore per rispondere ai commenti negativi?"
]
# Aggiungi altri suggerimenti specifici per plot_id se necessario
# Assicura che ci siano esattamente 3 suggerimenti
while len(suggestions) < 3:
suggestions.append(f"Dimmi di più sulle tendenze nei dati di {plot_label.lower()}.")
if len(suggestions) > 3:
suggestions = suggestions[:3]
return prompt_text, suggestions |