Questa pagina spiega come creare un'app Google Chat in grado di comprendere e rispondere con 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 Google Chat Dialogflow ES.
Ad esempio, considera un'app 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?", che avvia una conversazione simile a quella umana con l'utente, in cui l'app Chat comprende e risponde con un linguaggio umano durante la prenotazione del noleggio auto.
Questo è solo un esempio. Le app di chat Dialogflow sono utili in tutti i tipi di interazioni. Se richiede una conversazione umana naturale, è necessaria un'app Dialogflow Chat. Gli agenti predefiniti ti aiutano a iniziare rapidamente e mostrano le funzionalità di Dialogflow, ad esempio:
- Prenota voli
- Pianificare visite mediche
- 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 1. Selezione di un agente predefinito per un'app di chat Dialogflow. -
Figura 2. Test dell'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 riconsegna per 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. Avere una conversazione sulla prenotazione di un'auto a noleggio con l'app Dialogflow Chat in Google Chat.
Obiettivi
- Configurare l'ambiente.
- Crea e implementa un agente Dialogflow CX.
- Crea e implementa 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 Verifica lo stato di 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 di chat Dialogflow ha il seguente flusso di informazioni:
- Un utente invia un messaggio in Chat a un'app di Chat, in un messaggio diretto o in uno spazio di Chat.
- Un agente virtuale Dialogflow, che si trova in Google Cloud, riceve ed elabora il messaggio per produrre una risposta.
- Se vuoi, utilizzando un webhook Dialogflow, l'agente Dialogflow può interagire con servizi esterni di terze parti, ad esempio un sistema di gestione dei progetti o uno strumento di gestione dei ticket.
- L'agente Dialogflow invia una risposta al servizio dell'app di Chat in Chat.
- La risposta viene inviata allo spazio di Chat.
Configurare 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 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. Progetti e crei un agente Dialogflow per gestire i tipi di conversazioni richieste per il tuo sistema.
Un agente Dialogflow è come un agente umano di un call center. Li addestri entrambi a gestire gli scenari di conversazione previsti e l'addestramento non deve essere eccessivamente 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 cloud Google. Per trovare il tuo progetto, potresti dover fare clic su Tutti e poi cercarlo.
Ora puoi scegliere un agente predefinito o crearne uno personalizzato. 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:
- Fai clic su Utilizza agenti predefiniti.
Seleziona un agente predefinito. Per questa guida, seleziona Viaggi: noleggio auto.
Gli agenti vengono classificati come principianti, intermedi o avanzati in base al numero di funzionalità utilizzate e alla sofisticatezza della logica di conversazione. La scelta di un agente intermedio o avanzato potrebbe richiedere personalizzazioni e impostazioni specifiche per l'agente, tra cui 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 datastore o seleziona Crea il tuo per creare altri tipi di agenti.
Per una procedura 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 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 mostra il flusso di avvio predefinito dell'agente.
(Facoltativo) Personalizza l'agente. Per una procedura 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 Flusso di avvio predefinito.
- In Pagina, seleziona Pagina iniziale.
- Nella barra di scrittura Parla con un agente, digita
Helloe 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, in quanto lo utilizzerai quando configuri l'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 "Google Chat API" e fai clic su Google Chat API, 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. - Nella sezione Funzionalità, seleziona Partecipa a spazi e conversazioni di gruppo.
- Nella sezione Impostazioni di connessione, seleziona Dialogflow.
- In Impostazioni di Dialogflow, seleziona Dialogflow CX.
- In Nome risorsa agente o ambiente, incolla il nome dell'agente CX di Dialogflow che hai copiato alla fine di Crea 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 a 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 che hai fornito quando ti sei aggiunto come tester attendibile.
- Fai clic su Nuova chat.
- Nel campo Aggiungi una o più persone, digita il nome della tua app di Chat.
Seleziona l'app di chat dai risultati. Si apre un messaggio diretto.
Nel nuovo messaggio diretto con l'app, digita
Helloe premienter.L'app Dialogflow Chat risponde presentandosi.
- Completa il test con la conversazione di test di esempio.
Conversazione di prova di esempio
Per testare l'app Dialogflow CX Chat nella console Dialogflow CX o in Google Chat, segui questa conversazione. La spiegazione ti aiuta a capire come 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 ad avviare una nuova prenotazione di noleggio auto. Come posso aiutarti oggi? |
|
|
Utente finale:vorrei noleggiare un'auto. Agente:dove vorresti ritirare il veicolo? |
|
|
Utente finale: Las Vegas Agente: Ok, il ritiro avverrà a Las Vegas. Agente:il punto di consegna è diverso dal punto di ritiro? |
|
|
Utente finale: sì. Lascerò l'auto a Los Angeles. Agente: Ok, la riconsegna avverrà a Los Angeles. Agente: In quale data e ora vorresti ritirare il veicolo? |
|
|
Utente finale:vorrei ritirare l'auto il 5 marzo a mezzogiorno. Agente: In quale data e ora vorresti consegnare il veicolo? |
|
|
Utente finale:15 marzo a mezzogiorno. Agente: quindi, per confermare: Ritirerai il veicolo a Las Vegas il giorno 05/03/2024 alle ore 12:00 e lo riconsegnerai a Los Angeles il giorno 15/03/2024 alle ore 12:00 Ti sembra corretto? |
|
|
Utente finale: sì, grazie. Agente: Ottimo. Ora scegliamo un veicolo. Agente: preferisci un veicolo economico o di lusso? |
|
|
Utente finale:scegli la spedizione economica. Agente: Vuoi la Cymbal Car o il Cymbal Truck? |
|
|
Utente finale:Cymbal Truck. Agente:il camion Cymbal costa 50,33 $al giorno. Può ospitare 4 persone ed è dotata di radio AM/FM. Vuoi procedere al pagamento? Utente finale: sì, grazie. |
|
|
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 postale di fatturazione? Utente finale:1800 Amphibious Blvd. Mountain View, CA Agente:qual è il codice postale di fatturazione? Utente finale: 94045 Agente: ritirerai la Cymbal Car a Las Vegas il giorno 05/03/2024 alle ore 12:00:00 e la riconsegnerai il giorno 15/03/2024 alle ore 12:00:00. Il totale per questa corsa sarà di 175,38 $. Agente: grazie per aver noleggiato con noi e buona giornata. |
|
Inviare messaggi con schede da Dialogflow
Dialogflow può rispondere con messaggi di testo o scheda. Per rispondere con un messaggio della scheda, specificarlo come payload personalizzato in fulfillment.
Il seguente JSON mostra come inviare un messaggio della scheda come payload personalizzato nell'evasione:
json
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": { "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
- Quando utilizzi le app Google Chat con Dialogflow,
gli oggetti evento di chat
presentano le seguenti limitazioni e considerazioni:
- Eventi della casa nell'app:il supporto per gli eventi
APP_HOMEnon è ancora disponibile. - Input query Dialogflow:il testo inviato come input query all'agente Dialogflow dipende dal tipo di evento:
MESSAGE: il valore del campoargumentTextdel messaggio chat.APP_COMMAND: la stringa"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE: la stringa"ADDED_TO_SPACE_PAYLOAD".REMOVED_FROM_SPACE: la stringa"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED: la stringa"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED: la stringa"WIDGET_UPDATED_PAYLOAD"(utilizzata per il completamento automatico).
- Payload completo dell'evento:il payload JSON completo dell'evento di interazione con la chat viene inviato a Dialogflow all'interno del campo
WebhookRequest.payload. Puoi accedervi nel webhook di Dialogflow. Per saperne di più, consulta la documentazione sulle richieste webhook di Dialogflow CX.
- Eventi della casa nell'app:il supporto per gli eventi
- Considerazioni per rispondere ai
comandi e
ricevere dati da schede o finestre di dialogo:
- Se l'agente Dialogflow deve elaborare il payload JSON dell'evento di interazione con la chat, può farlo utilizzando un webhook Dialogflow per esaminare il payload personalizzato nel parametro di query.
- Per visualizzare una finestra di dialogo dall'agente Dialogflow, rispondi con un singolo payload JSON personalizzato che contenga un oggetto
RenderActionscon la navigazionepushCard. - Per elaborare i dati inseriti dalle schede, puoi utilizzare un webhook Dialogflow e rispondere con un singolo payload JSON personalizzato contenente l'azione appropriata.
- Le anteprime dei link non sono supportate.
- Se l'agente Dialogflow risponde con un solo messaggio, questo 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
createsulla risorsaspaces.messagesnell'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, consulta questo esempio di integrazione della chat per Dialogflow CX su GitHub.
Risoluzione dei problemi
Per eseguire il debug dell'app Chat, inizia esaminando i log degli errori. Poiché questa app utilizza Dialogflow, hai a disposizione diverse risorse di logging e risoluzione dei problemi:
Log dei componenti aggiuntivi di Google Workspace: esegui query sui log per informazioni dettagliate sul comportamento dell'app Chat, incluse le interazioni con Chat. Consulta Eseguire query sui log per i componenti aggiuntivi di Google Workspace.
Errori dell'app Google Chat:per messaggi di errore e correzioni generali dell'app Chat, consulta Risolvere i problemi e correggere gli errori dell'app Chat.
Cloud Logging di Dialogflow CX: assicurati che Cloud Logging sia abilitato nelle impostazioni dell'agente Dialogflow per acquisire log di esecuzione dettagliati, inclusi errori dell'agente e interazioni webhook. Scopri come abilitare e configurare questa opzione nella documentazione delle impostazioni dell'agente Dialogflow CX. Questi log possono essere visualizzati in Esplora log della console Google Cloud.
Cronologia delle conversazioni di Dialogflow CX:esamina le interazioni passate per comprendere il flusso della conversazione e identificare i punti in cui si verificano problemi. Vedi Cronologia conversazioni.
Risoluzione dei problemi generali di Dialogflow:per problemi più generali di Dialogflow, consulta la guida alla risoluzione dei problemi di Dialogflow CX.
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 quello che vuoi eliminare e poi fai clic su Elimina .
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Argomenti correlati
- Dialogflow CX adotta un approccio di
macchina a stati
per la progettazione degli agenti Dialogflow, che ti offre un controllo chiaro ed esplicito
su una conversazione, una migliore esperienza utente finale e un migliore
flusso di lavoro di sviluppo. Quando crei un'app di chat Dialogflow, ti consigliamo di utilizzare Dialogflow CX.
- Per scoprire di più sulla creazione e la configurazione degli agenti, consulta la sezione Agenti Dialogflow CX.
- Per una procedura dettagliata che ti spiega come creare e configurare gli agenti, consulta Creare un agente Dialogflow CX.
- Codelab: per un esempio di come creare un agente datastore Dialogflow CX, consulta l'app di chat della knowledge base del codelab Crea app per Google Chat con Gemini.
- Codelab:per un esempio di come creare un agente conversazionale Dialogflow CX, consulta l'app di chat per il feedback del codelab Crea app per Google Chat con Gemini.
- Dialogflow ES è un altro modo per utilizzare Dialogflow con un'app di chat.
App di chat che non sono componenti aggiuntivi: crea un'app Google Chat Dialogflow CX
Se stai creando o gestendo un'app Chat che non è un componente aggiuntivo di Google Workspace, tieni presente le seguenti differenze di configurazione, payload ed eventi.
Configurare un'app di chat Dialogflow CX che non sia un componente aggiuntivo
Quando configuri l'API Google Chat nella console Google Cloud:
- Deseleziona Crea questa app di Chat come componente aggiuntivo di Google Workspace. Si apre una finestra di dialogo in cui ti viene chiesto di confermare. Nella finestra di dialogo, fai clic su Disattiva.
- Completa le restanti impostazioni di configurazione di Dialogflow CX e fai clic su Salva.
Inviare messaggi con schede da un'app di chat Dialogflow CX che non è un componente aggiuntivo
In un'app di chat che non è un
componente aggiuntivo, specifica un oggetto
cardsV2 di primo livello nel payload personalizzato di Dialogflow nel fulfillment:
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 per le app di chat Dialogflow CX che non sono componenti aggiuntivi
- Gli eventi di interazione con la chat
hanno il seguente supporto e considerazioni:
- Sono supportati i seguenti
tipi di eventi di interazione:
MESSAGEADDED_TO_SPACECARD_CLICKED
- Per gli eventi
MESSAGEoADDED_TO_SPACE, l'input della query inviato all'agente Dialogflow corrisponde al valore del campoargumentTextnel 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 è formattato comeCARD_CLICKED.functionName, dovefunctionNamecorrisponde al valore del campofunctiondell'oggetto Azione allegato all'elemento della scheda interattiva (ad esempio un pulsante). - Il payload JSON completo di ogni evento di interazione di chat
viene inviato a Dialogflow come payload personalizzato nel parametro di query e
può essere accessibile con un
webhook Dialogflow
interrogando il valore del campo
WebhookRequest.payload.
- Sono supportati i seguenti
tipi di eventi di interazione:
- Considerazioni per rispondere ai
comandi slash e per
ricevere dati da schede o finestre di dialogo nelle
app di chat che non sono componenti aggiuntivi:
- Quando le app di chat Dialogflow che non sono
componenti aggiuntivi ricevono un messaggio con un
comando slash, l'input della query contiene solo il valore del campo
text. Il campotextinizia 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. - Per visualizzare una finestra di dialogo dell'agente Dialogflow in un'app di chat che non è un componente aggiuntivo, rispondi con un singolo payload JSON personalizzato che include un messaggio contenente una risposta all'azione
DIALOG. - Per elaborare i dati inseriti dalle schede in un'app di chat che non è un componente aggiuntivo, l'agente Dialogflow può rilevare intent che iniziano con il testo
CARD_CLICKEDe rispondere con un singolo payload JSON personalizzato contenente l'azione appropriata.
- Quando le app di chat Dialogflow che non sono
componenti aggiuntivi ricevono un messaggio con un
comando slash, l'input della query contiene solo il valore del campo