Questa pagina spiega come creare un'app Google Chat in grado di comprendere e rispondere utilizzando il linguaggio naturale utilizzando Dialogflow. Questa guida utilizza Dialogflow CX, che ha un'integrazione diretta con Google Chat. Puoi anche utilizzare Dialogflow ES per creare un'app Google Chat Dialogflow ES seguendo la guida di Google Chat Dialogflow ES.
Prendiamo ad esempio un'app di Chat che aiuti gli utenti a noleggiare auto. Un utente potrebbe scrivere: "Vorrei noleggiare un'auto". L'app Chat potrebbe rispondere con una domanda come "Dove vuoi ritirare il veicolo?", che avvia una conversazione simile a una persona con l'utente in cui l'app Chat comprende e risponde con il linguaggio umano durante la prenotazione dell'auto a noleggio.
Questo è solo un esempio. Le app Dialogflow Chat sono utili per tutti i tipi di interazioni. Se richiede un linguaggio naturale, richiede un'app di Chat Dialogflow. Gli agenti predefiniti ti aiutano a iniziare rapidamente e mostrano cosa può fare Dialogflow, ad esempio:
- Prenota voli
- Fissa un appuntamento dal medico
- Ordina cibo a domicilio
- Rispondi alle domande sul catalogo di prodotti di vendita al dettaglio, ad esempio se gli articoli sono disponibili in altri colori.
-
Figura 2. Test dell'agente in Dialogflow CX per verificare che la logica e la configurazione dell'agente funzionino come previsto. Il diagramma mostra un insieme sequenziale di pagine di argomenti che riguardano passaggi specifici della conversazione, come l'impostazione di un punto di prelievo e un luogo di ritorno per un'auto a noleggio, e configura la logica che le collega. La conversazione viene testata in un simulatore. -
Figura 3. Hai configurato un'app di Chat per elaborare le risposte utilizzando l'agente Dialogflow CX nella pagina di configurazione dell'API Chat della console Google Cloud. -
Figura 4. Parlare della prenotazione di un'auto a noleggio con l'app Dialogflow Chat in Google Chat.
Obiettivi
- Configurare l'ambiente.
- Crea ed esegui il deployment di un agente Dialogflow CX.
- Creare ed eseguire il deployment di un'app di Chat basata sull'agente Dialogflow CX.
- Prova l'app Chat.
Prerequisiti
- Un account Google Workspace con accesso a Google Chat.
- Un progetto Google Cloud.
- Assicurati di attivare la fatturazione per il tuo progetto Cloud. Scopri come verificare lo stato di fatturazione dei tuoi progetti.
Architettura
Il seguente diagramma mostra l'architettura di un'app di Chat creata con Dialogflow:
Nel diagramma precedente, un utente che interagisce con un'app di chat Dialogflow ha il seguente flusso di informazioni:
- Un utente invia un messaggio in Chat a un'app Chat, in un messaggio diretto o in uno spazio di Chat.
- Un agente virtuale Dialogflow, che risiede in Google Cloud, riceve ed elabora il messaggio per produrre una risposta.
- Facoltativamente, l'agente Dialogflow può interagire con servizi di terze parti esterni come un sistema di gestione dei progetti o uno strumento per la gestione dei ticket, utilizzando un webhook Dialogflow.
- L'agente Dialogflow invia una risposta al servizio dell'app Chat in Chat.
- La risposta viene consegnata allo spazio di Chat.
Configura l'ambiente
Prima di utilizzare le API di Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud.Nella console Google Cloud, abilita l'API Google Chat e l'API Dialogflow.
Verifica di abilitare le API nel progetto Cloud corretto, poi fai clic su Avanti.
Verifica di abilitare le API corrette, quindi fai clic su Abilita.
Crea un agente Dialogflow CX
Un agente Dialogflow CX è un agente virtuale che gestisce le conversazioni in parallelo con i tuoi utenti finali. È un modulo di comprensione del linguaggio naturale che comprende tutte le sfumature del linguaggio umano. Dialogflow converte il testo degli utenti finali durante una conversazione in dati strutturati comprensibili per le tue app e i tuoi servizi. Tu progetti e crei un agente Dialogflow per gestire i tipi di conversazioni richiesti per il tuo sistema.
Un agente Dialogflow è una sorta di agente di un call center umano. Devi addestrare entrambi a gestire gli scenari di conversazione previsti, senza che sia necessario essere troppo esplicita per la formazione.
Ecco come creare l'agente Dialogflow CX:
Nella console di Dialogflow CX, apri la console di Dialogflow CX. Fai clic su Menu > Dialogflow CX.
Scegli un progetto Google Cloud. Per trovare il progetto, potrebbe essere necessario fare clic su Tutto e poi cercarlo.
Ora hai la possibilità di scegliere un agente predefinito o di crearne uno tuo. Se preferisci esplorare in dettaglio la personalizzazione degli agenti in un secondo momento, scegli uno degli agenti predefiniti, che sono utili anche per scoprire cosa possono fare gli agenti.
Per scegliere un agente predefinito, segui questi passaggi:
- Fai clic su Utilizza agenti predefiniti.
Seleziona un agente predefinito. Per questa guida, seleziona Viaggi: noleggio auto.
Gli agenti vengono classificati come principiante, intermedio o avanzato in base a quante funzionalità utilizza e alla sofisticazione della sua logica di conversazione. La scelta di un agente intermedio o avanzato potrebbe richiedere personalizzazioni e impostazioni specifiche dell'agente, tra cui l'abilitazione di funzionalità e API nella console Google Cloud.
Fai clic su Importa come agente.
Per creare il tuo agente, segui questi passaggi:
- Fai clic su Crea agente.
- Seleziona Genera automaticamente per creare un agente del datastore oppure seleziona Crea il tuo per creare altri tipi di agenti.
Per una procedura dettagliata dettagliata del processo di creazione dell'agente, consulta Creare un agente Dialogflow CX.
Configura le impostazioni di base dell'agente:
- In Nome visualizzato, inserisci un nome visualizzato.
- Seleziona la località che preferisci. Se vuoi modificare le impostazioni di geolocalizzazione avanzate, fai clic su Modifica.
- Seleziona il fuso orario che preferisci.
- Seleziona la lingua predefinita per l'agente. Non puoi modificare la lingua predefinita per un agente dopo la creazione.
Fai clic su Crea. Dialogflow CX avvia la creazione dell'agente e mostra il flusso di avvio predefinito.
Se vuoi, puoi personalizzare l'agente. Per una procedura dettagliata dettagliata del processo di personalizzazione dell'agente, consulta Creare un agente Dialogflow CX.
Come best practice, testa l'agente:
- Fai clic su Testa l'agente.
- Seleziona Testa l'agente nell'ambiente.
- In Ambiente, seleziona Bozza.
- In Flow, seleziona Default Start Flow (Avvia flusso predefinito).
- In Pagina, seleziona Pagina iniziale.
- Nella barra di scrittura Parla con l'agente, digita
Hello
e premi Invio. L'agente risponde presentandosi. - Completa il test presentando la conversazione di prova di esempio.
L'agente Dialogflow CX è stato creato. Torna alla console Dialogflow CX. Fai clic su Menu > Dialogflow CX.
Nella sezione Agenti, fai clic su > Copia nome. Salva questo nome man mano che lo utilizzi durante la configurazione dell'app Chat.
Crea un'app di Chat e connettila all'agente Dialogflow
Dopo aver creato un agente Dialogflow CX, segui questi passaggi per trasformarlo in un'app di Chat:
Nella console Google Cloud, vai all'API Google Chat. Cerca "API Google Chat", fai clic su API Google Chat e poi su Gestisci.
Fai clic su Configurazione e configura l'app Chat:
- In Nome app, inserisci
Dialogflow App
. - In URL avatar, inserisci
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - In Descrizione, inserisci
Responds to real human conversation
. - In Funzionalità, seleziona Ricevi messaggi 1:1 e Partecipa a spazi e conversazioni di gruppo.
- In Impostazioni di connessione, seleziona Dialogflow.
- In Impostazioni di Dialogflow, seleziona Dialogflow CX.
- In Nome risorsa agente o ambiente, incolla il nome dell'agente Dialogflow CX che hai copiato alla fine della sezione Creare un agente Dialogflow CX.
- Rendi disponibile l'app di Chat a utenti e gruppi specifici nel tuo dominio e inserisci il tuo indirizzo email.
- In Log, seleziona Log errori in Logging.
- In Nome app, inserisci
Fai clic su Salva.
L'app Chat è pronta a ricevere e rispondere ai messaggi su Chat.
Testare l'app Chat
Testa l'app Dialogflow CX Chat inviando un messaggio in Google Chat.
Apri Google Chat con l'account Google Workspace che hai fornito quando ti sei aggiunto come trusted tester.
- Fai clic su Nuova chat.
- Nel campo Aggiungi una o più persone, digita il nome della tua app di Chat.
Seleziona la tua app Chat dai risultati. Si apre un messaggio diretto.
Nel nuovo messaggio diretto con l'app, digita
Hello
e premienter
.L'app Dialogflow Chat risponde con una presentazione.
- Completa il test utilizzando la conversazione di prova di esempio.
Esempio di conversazione di prova
Per testare l'app Dialogflow CX Chat nella console Dialogflow CX o in Google Chat, svolgi la seguente conversazione. La spiegazione ti aiuta a capire in che modo l'agente Dialogflow CX interpreta il linguaggio naturale dell'utente e produce la propria risposta in linguaggio naturale in ogni fase della conversazione. Questa conversazione di esempio è basata sull'agente predefinito denominato Viaggi: noleggio auto.
Finestra di dialogo | Spiegazione |
---|---|
Utente finale: Ciao Agent: Ciao. Sono l'agente virtuale di noleggio auto. Posso aiutarti ad avviare una nuova prenotazione di auto a noleggio. Come posso aiutarti oggi? |
|
Utente finale:voglio noleggiare un'auto. Agente: Dove vuoi ritirare il veicolo? |
|
Utente finale: Las Vegas Agente: Ok, il ritiro sarà a Las Vegas. Agente: Il punto di consegna è diverso da quello del punto di partenza? |
|
Utente finale:sì. Farò scendere l'auto a Los Angeles. Agente: Ok, il pacco verrà consegnato a Los Angeles. Agente: A che data e ora vuoi ritirare il veicolo? |
|
Utente finale:vorrei ritirare l'auto il 5 marzo a mezzogiorno. Agente: A che data e ora vuoi far scendere il veicolo? |
|
Utente finale:15 marzo a mezzogiorno. Agente: Per conferma: Dovrai ritirare il veicolo a Las Vegas 2024-03-05 12:00:00 e poi lo lascerai a Los Angeles 15/03/2024 12:00:00 Va bene? |
|
Utente finale:sì, grazie. Agent: Ottimo! Ora scegliamo un veicolo. Agent: Vuole un veicolo economico o di lusso? |
|
Utente finale:economico. Agent: Vuoi l'auto o il camion di Cymbal? |
|
Utente finale:Cymbal Cam. Agente: Il camion di Cymbal costa 50,33 $al giorno. Può ospitare fino a 4 persone ed è dotato di radio AM/FM. Vuoi procedere con il pagamento? Utente finale:sì. |
|
Agent: Che tipo di carta utilizzerai? Utente finale: Altostrat Agente: inserisci il numero della carta. Utente finale: 1234 1234 1234 1234 Agente: Come si chiama la carta? Utente finale: Charlie Agente: Qual è la via per la fatturazione? Utente finale: 1800 Amphibious Blvd. Mountain View, CA Agente: Qual è il CAP di fatturazione? Utente finale: 94045 Agente: Ritirerai la Cymbal Car a Las Vegas, 05/03/2024 alle 12:00:00 e la lascerai, 15/03/2024 12:00:00. Il totale per questo viaggio sarà di 175,38 $. Agente: Grazie per aver noleggiato da noi e buona giornata. |
|
Inviare messaggi della scheda da Dialogflow
Dialogflow può rispondere con messaggi di testo o scheda. Per rispondere con un messaggio di carta, specificalo come payload personalizzato in fulfillment.
Il seguente JSON mostra come inviare un messaggio carta come payload personalizzato in evasione:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
Limiti e considerazioni
- Gli eventi di interazione via chat
hanno un supporto limitato e alcune considerazioni:
- Sono supportati i seguenti
tipi di eventi di interazione:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- Per gli eventi
MESSAGE
oADDED_TO_SPACE
, l'input della query inviato all'agente Dialogflow corrisponde al valore del campoargumentText
nel messaggio di Chat. Se il messaggio include un comando slash, viene utilizzato il valore del campotext
. - Per gli eventi
CARD_CLICKED
, l'input della query inviato all'agente Dialogflow viene formattato comeCARD_CLICKED.functionName
, dovefunctionName
corrisponde al valore del campofunction
dell'oggetto Action associato all'elemento della scheda interattiva (come un pulsante). - Il payload JSON completo di ogni evento di interazione con Chat viene inviato a Dialogflow come payload personalizzato nel parametro di query ed è possibile accedervi con un Webhook Dialogflow eseguendo una query sul valore del campo
WebhookRequest.payload
.
- Sono supportati i seguenti
tipi di eventi di interazione:
- Considerazioni relative alla risposta ai comandi slash e alla ricezione di dati da schede o finestre di dialogo:
- Quando le app Dialogflow Chat ricevono un messaggio con un comando slash, l'input della query contiene solo il valore del campo
text
. Il campotext
inizia con il nome del comando slash (ad esempio/command
), che puoi utilizzare per configurare l'intent di un agente Dialogflow per rilevare un comando slash. - Se l'agente Dialogflow deve elaborare il Payload JSON dell'evento di interazione con Chat, può farlo utilizzando un Webhook Dialogflow per ispezionare il payload personalizzato nel parametro di query.
- Per visualizzare una finestra di dialogo dall'agente Dialogflow, rispondi con un singolo payload JSON personalizzato che include un messaggio contenente una
DIALOG
risposta di azione. - Per elaborare i dati inseriti dalle schede, l'agente Dialogflow può rilevare gli intent che iniziano con il testo
CARD_CLICKED
e rispondere con un singolo payload JSON personalizzato contenente l'azione appropriata.
- Quando le app Dialogflow Chat ricevono un messaggio con un comando slash, l'input della query contiene solo il valore del campo
- Le anteprime dei link non sono supportate.
- Se l'agente Dialogflow risponde con un solo messaggio, quest'ultimo viene inviato a Google Chat in modo sincrono. Se l'agente Dialogflow risponde
con più messaggi, tutti i messaggi vengono inviati a Chat
in modo asincrono chiamando il metodo
create
sulla risorsaspaces.messages
nell'API Chat una volta per ogni messaggio. - Quando utilizzi l'integrazione di Dialogflow CX con Chat, l'agente Dialogflow e l'app Chat devono essere configurati nello stesso progetto Google Cloud. Se devi configurare Dialogflow e Chat in progetti Cloud diversi, puoi configurare un server intermedio per facilitare la connessione. Per scoprire come, vedi questo esempio di integrazione di Chat per Dialogflow CX su GitHub.
Risolvi il problema
Quando un'app o una scheda Google Chat restituisce un errore, l'interfaccia di Chat mostra il messaggio "Si è verificato un problema". o "Impossibile elaborare la richiesta". A volte nella UI di Chat non viene visualizzato alcun messaggio di errore, ma l'app o la scheda Chat produce un risultato imprevisto. Ad esempio, il messaggio di una scheda potrebbe non essere visualizzato.
Anche se un messaggio di errore potrebbe non essere visualizzato nell'interfaccia utente di Chat, sono disponibili messaggi di errore descrittivi e dati di log per aiutarti a correggere gli errori quando il logging degli errori per le app di Chat è attivato. Per informazioni su visualizzazione, debug e correzione degli errori, vedi Risolvere i problemi e correggere gli errori di Google Chat.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, ti consigliamo di eliminare il progetto Cloud.
- Nella console Google Cloud, vai alla pagina Gestisci risorse. Fai clic su Menu > IAM e amministrazione > Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina .
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
Argomenti correlati
- Dialogflow CX adotta un approccio di macchina a stato alla progettazione dell'agente Dialogflow, che offre un controllo chiaro ed esplicito su una conversazione, una migliore esperienza dell'utente finale e un flusso di lavoro di sviluppo migliore. Quando crei un'app Dialogflow
Chat, ti consigliamo di utilizzare Dialogflow CX.
- Per saperne di più sulla creazione e sulla configurazione degli agenti, consulta Agenti Dialogflow CX.
- Per una procedura dettagliata dettagliata su come creare e configurare gli agenti, consulta Creare un agente Dialogflow CX.
- Creare app per Google Chat con Gemini. Codelab: per un esempio di come creare un agente del datastore Dialogflow CX, consulta l'app Knowledge Chat del codelab
- Creare app per Google Chat con Gemini. Codelab: per un esempio di come creare un agente conversazionale Dialogflow CX, vedi l'app Chat con feedback del codelab
- Dialogflow ES è un altro modo per utilizzare Dialogflow con un'app di chat.