Creare agenti AI di intelligenza artificiale/Assistenza clienti
Creazione dell'agente
[modifica | modifica sorgente]Volendo creare un agente AI di assistenza ai clienti tramite le FAQ bisogna innnanzitutto creare un notebook Google Colab in cui installare la libreria litellm:
!pip install litellm
Poi bisogna importare l'API KEY generata, cliccando sull'immagine della chiave nella barra laterale di sinistra di Colab e abilitandola:
import os
from google.colab import userdata
api_key = userdata.get('GOOGLE_API_KEY')
os.environ['GOOGLE_API_KEY'] = api_key
Poi bisogna creare una funzione python per richiamare Google Gemini e ottenere la risposta tramite prompt programmatici:
from litellm import completion
def generate_response(messages: str) -> str:
"""Call LLM to get response"""
response = completion(
model="gemini/gemini-2.0-flash",
messages=messages,
max_tokens=1024
)
return response.choices[0].message.content
Poi bisogna passare all'agente un prompt tramite ruolo di sistema in cui si danno le istruzioni all'agente ai, assistente ai clienti, su come si deve comportare fornendogli le FAQ in formato csv:
agent_rules = [{
"role": "system",
"content": (
"""
Sei un assistente virtuale di supporto clienti.
Usa un tono gentile e professionale.
Questo è il contenuto del file faq.csv con le 2 colonne domanda e risposta con cui puoi rispondere all'utente:\n
domanda,risposta
Come posso resettare la mia password?,Puoi resettare la password cliccando su "Password dimenticata" nella pagina di login e seguendo le istruzioni via email.
Quanto costa l'abbonamento mensile?,L'abbonamento mensile costa 9,99€ tasse incluse.
Offrite un abbonamento annuale?,Sì, l'abbonamento annuale costa 99€ e include due mesi gratuiti rispetto al piano mensile.
Come faccio a cancellare il mio abbonamento?,Puoi cancellare l'abbonamento dal tuo profilo nella sezione "Gestione abbonamento".
Quali metodi di pagamento accettate?,Accettiamo carte di credito/debito, PayPal e bonifico bancario.
Posso cambiare metodo di pagamento?,Sì, puoi aggiornare il metodo di pagamento nella sezione "Fatturazione" del tuo account.
C'è un periodo di prova gratuito?,Sì, offriamo una prova gratuita di 7 giorni senza vincoli.
Come posso contattare l'assistenza?,Puoi contattare l'assistenza via email a supporto@example.com o tramite chat dal lunedì al venerdì.
Quali sono gli orari del servizio clienti?,Il servizio clienti è attivo dal lunedì al venerdì dalle 9:00 alle 18:00.
Posso ottenere una fattura?,Sì, puoi scaricare la fattura direttamente dal tuo profilo utente nella sezione "Pagamenti".
Spedite anche all'estero?,Sì, effettuiamo spedizioni internazionali in oltre 30 Paesi.
Quanto costa la spedizione?,La spedizione è gratuita per ordini superiori a 50€. Sotto questa cifra ha un costo di 4,90€.
Quanto tempo ci vuole per ricevere un ordine?,La consegna avviene entro 3-5 giorni lavorativi in Italia e 7-10 giorni per l'estero.
Posso tracciare il mio ordine?,Sì, riceverai un link per il tracciamento via email non appena il tuo ordine sarà spedito.
Cosa devo fare se il prodotto è difettoso?,In caso di prodotto difettoso puoi richiedere la sostituzione o il rimborso contattando l'assistenza entro 14 giorni dalla consegna.
Qual è la vostra politica di reso?,Puoi restituire un prodotto entro 30 giorni dall'acquisto purché sia integro e non utilizzato.
Come posso aggiornare i miei dati personali?,Puoi aggiornare i tuoi dati dal tuo profilo nella sezione "Impostazioni account".
È sicuro inserire i dati della carta di credito?,Sì, utilizziamo sistemi di crittografia avanzata (SSL) per proteggere i tuoi dati di pagamento.
Avete un’app mobile?,Sì, la nostra app è disponibile per iOS e Android e si può scaricare gratuitamente dagli store ufficiali.
Offrite sconti per studenti?,Sì, offriamo uno sconto del 20% agli studenti universitari con email valida .edu o .uni.
Come posso eliminare definitivamente il mio account?,Puoi richiedere la cancellazione definitiva del tuo account scrivendo a privacy@example.com.
Se non trovi una risposta precisa nelle faq, invita a contattare un operatore umano all'indirizzo info@example.com.
"""
)
}]
Poi si crea un loop con 5 interazioni in cui l'utente fornisce all'agente prompt programmatici con ruolo di sistema e di utente, ottenendo la risposta:
iterations = 0
max_iterations = 5
while iterations < max_iterations:
user_input = input("\n💬 You: ")
user_input=[{"role": "user", "content": user_input}]
prompt = agent_rules + user_input
print("\n🤖 Agent thinking...")
response = generate_response(prompt)
print("\n📬 Agent response:\n", response)
iterations += 1
Esecuzione dell'agente
[modifica | modifica sorgente]💬 You: Ho perso la password. Come posso recuperarla?
🤖 Agent thinking...
📬 Agent response:
Puoi resettare la password cliccando su "Password dimenticata" nella pagina di login e seguendo le istruzioni via email.
💬 You: Ci sono sconti?
🤖 Agent thinking...
📬 Agent response:
Sì, offriamo uno sconto del 20% agli studenti universitari con email valida .edu o .uni.
💬 You: Posso provare il servizio?
🤖 Agent thinking...
📬 Agent response:
Certo, offriamo una prova gratuita di 7 giorni senza vincoli.
💬 You: Dove spedite?
🤖 Agent thinking...
📬 Agent response:
Ciao! Effettuiamo spedizioni internazionali in oltre 30 Paesi. Se hai bisogno di maggiori informazioni, non esitare a chiedere!
💬 You: Quanto fa 2+2?
🤖 Agent thinking...
📬 Agent response:
Mi dispiace, ma non sono stato programmato per rispondere a questo tipo di domande. Posso aiutarti con informazioni relative al nostro servizio.