Questa pagina spiega come creare un'app Google Chat in grado di comprendere e rispondere con 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 Dialogflow ES Google Chat seguendo la guida su Dialogflow ES Google Chat.
Ad esempio, prendi in considerazione un'app di chat che aiuta le persone 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?", avviando una conversazione simile a quella con una persona con l'utente, in cui l'app Chat comprende e risponde con un linguaggio umano durante la prenotazione dell'auto a noleggio.
Questo è solo un esempio. Le app di chat Dialogflow sono utili in tutti i tipi di interazioni. Se richiede un linguaggio umano naturale, richiede un'app Dialogflow Chat. Gli agenti predefiniti ti aiutano a iniziare rapidamente e a mostrare cosa può fare Dialogflow, ad esempio:
- Prenotare voli
- Fissare appuntamenti dal medico
- Ordinare cibo a domicilio
- Rispondere a domande su un catalogo di prodotti di vendita al dettaglio, ad esempio se gli articoli sono disponibili in altri colori
-
Figura 2. Testare l'agente in Dialogflow CX per assicurarsi che la logica e la configurazione dell'agente funzionino come previsto. Il diagramma mostra un insieme sequenziale di pagine tematiche che riguardano passaggi specifici della conversazione, come l'impostazione di una località di ritiro e restituzione di un'auto a noleggio, e configura la logica che le collega. La conversazione viene testata in un simulatore. -
Figura 3. Configurazione di un'app Chat per elaborare le risposte utilizzando l'agente Dialogflow CX nella pagina di configurazione dell'API Chat nella console Google Cloud. -
Figura 4. Conversazione sulla 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.
- Crea ed esegui il deployment di un'app di chat basata sull'agente Dialogflow CX.
- Testa l'app Chat.
Prerequisiti
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Un progetto Google Cloud con la fatturazione abilitata. Per verificare che la fatturazione sia attivata per un progetto esistente, consulta Verificare lo stato della fatturazione dei progetti. Per creare un progetto e configurare la fatturazione, consulta Creare un progetto Google Cloud.
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 Dialogflow Chat 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 Chat.
- Un agente virtuale Dialogflow, che si trova in Google Cloud, riceve e elabora il messaggio per produrre una risposta.
- Se vuoi, puoi utilizzare un webhook Dialogflow per consentire all'agente Dialogflow di interagire con servizi esterni di terze parti, come un sistema di gestione dei progetti o uno strumento per la creazione di ticket.
- L'agente Dialogflow invia una risposta al servizio dell'app Chat in Chat.
- La risposta viene inviata allo spazio di Chat.
Configurare l'ambiente
Prima di utilizzare le API 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 attivare le API nel progetto Cloud corretto, poi fai clic su Avanti.
Verifica di attivare le API corrette, quindi fai clic su Attiva.
Creare un agente Dialogflow CX
Un agente Dialogflow CX è un agente virtuale che gestisce conversazioni simultanee con gli utenti finali. Si tratta di un modulo di comprensione del linguaggio naturale che comprende le sfumature del linguaggio umano. Dialogflow traduce il testo dell'utente finale durante una conversazione in dati strutturati comprensibili dalle tue app e dai tuoi servizi. Progetta e crea un agente Dialogflow per gestire i tipi di conversazioni richiesti per il tuo sistema.
Un agente Dialogflow è come un agente di call center umano. Li addestrini entrambi per gestire gli scenari di conversazione previsti e l'addestramento non deve essere esageratamente esplicito.
Ecco come creare l'agente Dialogflow CX:
Nella console Dialogflow CX, apri la console Dialogflow CX. Fai clic su Menu > Dialogflow CX.
Scegli un progetto Google Cloud. Per trovare il progetto, potresti dover fare clic su Tutti e poi cercarlo.
Ora hai la possibilità di scegliere un agente predefinito o crearne uno personalizzato. Se preferisci esplorare la personalizzazione degli agenti in dettaglio 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:
- Fai clic su Utilizza agenti predefiniti.
Seleziona un agente predefinito. Per questa guida, seleziona Viaggi: noleggio auto.
Gli agenti vengono classificati come principianti, intermediari o avanzati in base al numero di funzionalità utilizzate e alla complessità della logica di conversazione. La scelta di un agente intermedio o avanzato potrebbe richiedere personalizzazioni e impostazioni specifiche dell'agente, inclusa l'attivazione di funzionalità e API nella console Google Cloud.
Fai clic su Importa come agente.
Per creare il tuo agente:
- Fai clic su Crea agente.
- Seleziona Genera automaticamente per creare un agente del datastore o Crea il tuo per creare altri tipi di agenti.
Per una procedura dettagliata della procedura 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 tua posizione preferita. 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 di un agente dopo la creazione.
Fai clic su Crea. Dialogflow CX inizia a creare l'agente e poi visualizza il flusso di inizio predefinito dell'agente.
Se vuoi, personalizza l'agente. Per una procedura dettagliata sulla procedura di personalizzazione dell'agente, consulta Creare un agente Dialogflow CX.
Come best practice, testa l'agente:
- Fai clic su Testa agente.
- Seleziona Testa l'agente nell'ambiente.
- In Ambiente, seleziona Bozza.
- In Flusso, seleziona Flusso di inizio predefinito.
- In Pagina, seleziona Pagina iniziale.
- Nella barra di composizione Parla con un agente, digita
Hello
e premi Invio. L'agente risponde presentandosi. - Completa il test con la conversazione di test di esempio.
L'agente Dialogflow CX viene creato. Torna alla console Dialogflow CX. Fai clic su Menu > Dialogflow CX.
In Agenti, fai clic su > Copia nome. Salva questo nome, poiché lo utilizzerai 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 dell'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 Dialogflow, seleziona Dialogflow CX.
- In Nome risorsa dell'agente o dell'ambiente, incolla il nome dell'agente Dialogflow CX che hai copiato alla fine di 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 Errori di log in Logging.
- In Nome dell'app, inserisci
Fai clic su Salva.
L'app Chat è pronta per ricevere e rispondere ai messaggi su Chat.
Testare l'app Chat
Testa l'app di chat Dialogflow CX inviando un messaggio in Google Chat.
Apri Google Chat utilizzando l'account Google Workspace fornito quando hai aggiunto te stesso come tester attendibile.
- Fai clic su Nuova chat.
- Nel campo Aggiungi 1 o più persone, digita il nome della tua app Chat.
Seleziona l'app Chat dai risultati. Viene visualizzato un messaggio diretto.
Nel nuovo messaggio diretto con l'app, digita
Hello
e premeenter
.L'app Dialogflow Chat risponde presentandosi.
- Completa il test con la conversazione di test di esempio.
Conversazione di test di esempio
Per testare l'app Chat di Dialogflow CX 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 passaggio della conversazione. Questa conversazione di esempio si basa sull'agente predefinito chiamato Viaggi: noleggio auto.
Dialog | Spiegazione |
---|---|
Utente finale: Ciao. Agente: Ciao. Sono l\'agente virtuale per il noleggio auto. Posso aiutarti a iniziare una nuova prenotazione di auto a noleggio. Come posso aiutarti oggi? |
|
Utente finale: vorrei noleggiare un'auto. Agente: dove vuoi ritirare il veicolo? |
|
Utente finale: Las Vegas Agente: OK, il ritiro avverrà a Las Vegas. Agente: la località di consegna è diversa da quella di ritiro? |
|
Utente finale: sì. Rilascerò l'auto a Los Angeles. Agente: OK, la consegna sarà a Los Angeles. Agente: a che data e a che ora vuoi ritirare il veicolo? |
|
Utente finale: vorrei ritirare l'auto il 5 marzo a mezzogiorno. Agente: a che data e a che ora vuoi restituire il veicolo? |
|
Utente finale: 15 marzo a mezzogiorno. Agente: per conferma: Ritirarai il veicolo a Las Vegas il 05/03/2024 alle 12:00:00 e lo restituirai a Los Angeles il 15/03/2024 alle 12:00:00 Giusto? |
|
Utente finale: Sì, grazie. Agente: Ottimo. Ora scegli un veicolo. Agente: preferisci un veicolo economico o di lusso? |
|
Utente finale: economica. Agente: preferisci l'auto Cymbal o il camion Cymbal? |
|
Utente finale: Cymbal Truck. Agente: il camion Cymbal costa 50,33 $al giorno. Può ospitare 4 persone ed è dotata di una radio AM/FM. Vuoi procedere al pagamento? Utente finale: sì. |
|
Agente: che tipo di carta utilizzerai? Utente finale: Altostrat Agente: inserisci il numero della carta. Utente finale: 1234 1234 1234 1234 Agente: qual è il nome sulla carta? Utente finale: Charlie Agente: qual è l'indirizzo di fatturazione? Utente finale: 1800 Amphibious Blvd. Mountain View, CA Agente: qual è il codice postale di fatturazione? Utente finale: 94045 Agente: ritirerai l'auto Cymbal a Las Vegas il 05-03-2024 alle ore 12:00:00 e la ricondurrai il 15-03-2024 alle ore 12:00:00. Il totale per questo viaggio sarà di 175,38 $. Agente: grazie per aver scelto di affittare con noi. Buona giornata. |
|
Inviare messaggi della scheda da Dialogflow
Dialogflow può rispondere con messaggi di testo o di scheda. Per rispondere con un messaggio della scheda, specificalo come payload personalizzato nel compimento.
Il seguente JSON mostra come inviare un messaggio della scheda come payload personalizzato nel completamento:
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 con la 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 barra, viene utilizzato il valore del campotext
. - Per gli eventi
CARD_CLICKED
, l'input della query inviato all'agente Dialogflow è formattato comeCARD_CLICKED.functionName
, dovefunctionName
corrisponde al valore del campofunction
dell'oggetto Azione associato all'elemento della scheda interattiva (ad esempio un pulsante). - Il payload JSON completo di ogni evento di interazione con la chat viene inviato a Dialogflow come payload personalizzato nel parametro di query e può essere accessibile con un webhook Dialogflow eseguendo una query sul valore del campo
WebhookRequest.payload
.
- Sono supportati i seguenti
tipi di eventi di interazione:
- Considerazioni per rispondere ai
comandi slash e
ricevere 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 la chat, puoi farlo utilizzando un webhook Dialogflow per ispezionare il payload personalizzato nel parametro di query.
- Per visualizzare una dialogo dall'agente Dialogflow, rispondi con un singolo payload JSON personalizzato che includa un messaggio contenente una
DIALOG
risposta all'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, questo viene inviato in modo sincrono a Google Chat. 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 semplificare la connessione. Per scoprire come, consulta questo esempio di integrazione di chat per Dialogflow CX su GitHub.
Risoluzione dei problemi
Quando un'app o una scheda di Google Chat restituisce un errore, l'interfaccia di Chat mostra il messaggio "Si è verificato un problema". o "Impossibile elaborare la tua richiesta". A volte l'interfaccia utente di Chat non mostra alcun messaggio di errore, ma l'app Chat o la scheda produce un risultato imprevisto; ad esempio, un messaggio della scheda potrebbe non essere visualizzato.
Sebbene 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 la registrazione degli errori per le app Chat è attivata. Per assistenza su come visualizzare, eseguire il debug e correggere gli errori, consulta la sezione Risolvere 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 e 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 basato su macchine a stati per la progettazione degli agenti Dialogflow, che offre un controllo chiaro ed esplicito su una conversazione, un'esperienza utente finale migliore e un flusso di lavoro di sviluppo migliore. Quando crei un'app Dialogflow Chat, ti consigliamo di utilizzare Dialogflow CX.
- Per scoprire di più sulla creazione e sulla configurazione degli agenti, consulta Agenti Dialogflow CX.
- Per una procedura dettagliata su come creare e configurare gli agenti, consulta Creare un agente Dialogflow CX.
- Crea app per Google Chat con Gemini. Codelab: per un esempio di come creare un agente del datastore Dialogflow CX, consulta l'app di Chat della conoscenza del codelab
- Creare app per Google Chat con Gemini. Codelab: per un esempio di come creare un agente conversazionale Dialogflow CX, consulta l'app di feedback Chat del codelab
- Dialogflow ES è un altro modo per utilizzare Dialogflow con un'app di chat.