Questo documento descrive le nozioni di base sull'utilizzo dei flussi Dialogflow CX per creare un agente. Fornisce una panoramica dei concetti più importanti.
Agenti
Un agente Dialogflow CX è un agente virtuale che gestisce conversazioni simultanee con gli utenti finali. È un modulo di comprensione del linguaggio naturale che comprende le sfumature del linguaggio umano. Dialogflow CX traduce il testo o l'audio dell'utente finale durante una conversazione in dati strutturati comprensibili dalle tue app e dai tuoi servizi. Progetti e crei un agente Dialogflow CX per gestire i tipi di conversazioni richiesti per il tuo sistema.
Un agente Dialogflow CX è simile a un agente umano di un contact center. Li addestri entrambi a gestire gli scenari di conversazione previsti e l'addestramento non deve essere eccessivamente esplicito.
Flussi
I dialoghi complessi spesso coinvolgono più argomenti di conversazione. Ad esempio, un fattorino di una pizzeria potrebbe avere ordine di cibo, informazioni sul cliente e conferma come argomenti distinti. Ogni argomento richiede più turni di conversazione per consentire a un agente di acquisire le informazioni pertinenti dall'utente finale.
Flussi vengono utilizzati per definire questi argomenti e i percorsi conversazionali associati. Ogni agente ha un flusso chiamato Flusso di avvio predefinito. Questo singolo flusso potrebbe essere tutto ciò che ti serve per un agente semplice. Gli agenti più complessi potrebbero richiedere flussi aggiuntivi e diversi membri del team di sviluppo possono essere responsabili della creazione e della manutenzione di questi flussi. Ad esempio, i flussi di un agente di consegna di pizza potrebbero essere i seguenti:Pagine
Una conversazione (sessione) di Dialogflow CX può essere descritta e visualizzata come una macchina a stati. Gli stati di una sessione sono rappresentati dalle pagine.
Per ogni flusso, definisci molte pagine, dove le pagine combinate possono gestire una conversazione completa sugli argomenti per cui è progettato il flusso. In un determinato momento, esiste una sola pagina corrente, la pagina corrente è considerata attiva e il flusso associato a quella pagina è considerato attivo. Ogni flusso ha una pagina iniziale speciale. Quando un flusso diventa attivo per la prima volta, la pagina iniziale diventa la pagina corrente. Per ogni turno di conversazione, la pagina corrente rimarrà invariata o verrà visualizzata un'altra pagina.
Configura ogni pagina per raccogliere informazioni dall'utente finale pertinenti per lo stato conversazionale rappresentato dalla pagina. Ad esempio, potresti creare le pagine (in blu) nel diagramma seguente per un flusso di Ordine di cibo di un addetto alle consegne di pizza. Il nodo Inizia del diagramma rappresenta la pagina iniziale del flusso Ordine di cibo. Al termine del flusso, si passa al flusso di Conferma.
Tipi di entità
I tipi di entità vengono utilizzati per controllare come vengono estratti i dati dall'input utente finale.Dialogflow CX fornisce entità di sistema predefinite in grado di corrispondere a molti tipi comuni di dati. Ad esempio, esistono entità di sistema per la corrispondenza di date, ore, colori, indirizzi email e così via. Puoi anche creare le tue entità personalizzate per la corrispondenza dei dati personalizzati. Ad esempio, potresti definire un'entità di verdura che può corrispondere ai tipi di verdure disponibili per l'acquisto con un agente di un negozio di alimentari.
Parametri
I parametri vengono utilizzati per acquisire e fare riferimento ai valori forniti dall'utente finale durante una sessione. Ogni parametro ha un nome e un tipo di entità. A differenza dell'input grezzo dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.Moduli
Per ogni pagina, puoi definire un modulo, ovvero un elenco di parametri che devono essere raccolti dall'utente finale per la pagina. L'agente interagisce con l'utente finale per più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, noti anche come parametri della pagina. L'agente raccoglie questi parametri nell'ordine definito nella pagina. Per ogni parametro del modulo richiesto, fornisci anche prompt che l'agente utilizza per richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione del modulo.
Ad esempio, potresti creare un modulo
che raccolga il nome
e il numero di telefono dell'utente finale per una pagina Collect Customer Info.
Intent
Un intent classifica l'intenzione di un utente finale per un turno di conversazione.
Un intent contiene i seguenti dati:
| Termine | Definizione |
|---|---|
| Nome visualizzato | Nome visualizzato nella console per l'intent. |
| Etichette | Etichette che aiutano a classificare gli intent. Ad esempio, intento generico. |
| Frasi di addestramento | Frasi di addestramento sono frasi di esempio di ciò che gli utenti finali potrebbero digitare o dire, note come input dell'utente finale. Quando l'input utente finale assomiglia a una di queste frasi, Dialogflow CX corrisponde all'intent. Non devi definire ogni possibile esempio, perché il machine learning integrato di Dialogflow CX espande l'elenco con altre frasi simili. |
| Parametri | Definisci le frasi di addestramento da utilizzare parametri per estrarre valori da parti specifiche dell'input utente finale. |
| Pattern DTMF | Consulta DTMF per le integrazioni di telefonia. |
Webhook
I webhook sono servizi che ospitano la logica di business o chiamano altri servizi. Durante una sessione, i webhook ti consentono di utilizzare i dati estratti dall'elaborazione del linguaggio naturale di Dialogflow CX per generare risposte dinamiche, convalidare i dati raccolti o attivare azioni sul backend.Un webhook può essere uno standard o uno flessibile. Con un webhook standard, i campi di richiesta e risposta sono definiti da Dialogflow CX. Con un webhook flessibile, definisci i campi di richiesta e risposta.
Fulfillment
Per il turno conversazionale di un agente, l'agente deve rispondere all'utente finale con la risposta a una domanda, una richiesta di informazioni o la chiusura della sessione. Il tuo agente potrebbe anche dover contattare il tuo servizio per generare risposte dinamiche o intraprendere azioni per un turno. Fulfillment viene utilizzato per eseguire tutte queste operazioni.
Un adempimento può contenere uno dei seguenti elementi:
- Messaggi di risposta statici.
- Chiamate webhook per risposte dinamiche e/o per intraprendere azioni.
- Preset dei parametri per impostare o eseguire l'override dei valori dei parametri.
Durante il turno di un agente, è possibile (e a volte auspicabile) chiamare più fulfillment, ognuno dei quali può generare un messaggio di risposta. Dialogflow CX gestisce queste risposte in una coda di risposte. Al termine del turno dell'agente, Dialogflow CX invia le risposte ordinate all'utente finale.
Gestori di stato
I gestori di stato, chiamati anche semplicemente gestori, vengono utilizzati per controllare la conversazione creando risposte per gli utenti finali e/o per la transizione della pagina corrente. Per ogni turno conversazionale, i gestori vengono valutati e possono influire sulla sessione. I gestori hanno tre tipi generali di dati:| Termine | Definizione |
|---|---|
| Requisiti del gestore | Questi sono i requisiti che devono essere soddisfatti affinché l'handler abbia un effetto sulla sessione. Si dice che un gestore viene chiamato quando soddisfa i suoi requisiti e influisce sulla sessione in qualche modo. |
| Evasione dell'handler | Se viene chiamato un gestore, un fulfillment facoltativo viene utilizzato per creare risposte per gli utenti finali. Queste risposte sono definite nei dati statici dell'agente o recuperate dinamicamente dal tuo servizio webhook. |
| Destinazione della transizione del gestore | Se viene chiamato un gestore, viene utilizzato un target di transizione facoltativo per cambiare la pagina corrente. La pagina successiva può essere solo una pagina iniziale del flusso o una pagina all'interno del flusso attualmente attivo. |
Esistono due tipi di gestori di stato con requisiti diversi:
| Termine | Definizione |
|---|---|
| Route | Le route vengono chiamate quando l'input di un utente finale corrisponde a un intent e/o a una condizione sullo stato della sessione. Una route con un requisito di intent è chiamata anche route di intent. Un percorso con un solo requisito di condizione è chiamato anche percorso di condizione. |
| Gestori di eventi | I gestori di eventi vengono chiamati quando viene richiamato un evento. Alcuni eventi integrati vengono attivati quando vengono ricevuti input utente imprevisti dell'utente finale o quando si verifica un errore webhook. Puoi anche definire eventi personalizzati che vengono richiamati quando succede qualcosa al di fuori della conversazione. |
L'elaborazione di un gestore di stato prevede tre passaggi:
| Termine | Definizione |
|---|---|
| 1. Ambito | Un gestore deve essere in ambito per avere effetto sulla sessione. L'ambito è determinato dal fatto che un gestore venga applicato a un flusso, a una pagina o a un parametro del modulo e dal fatto che il flusso associato sia attivo, la pagina associata sia attiva o l'agente stia attualmente tentando di compilare il parametro del modulo associato. |
| 2. Valutazione | Ogni gestore nell'ambito viene valutato in ordine. Se i requisiti di un gestore vengono soddisfatti, la valutazione viene superata. |
| 3. Chiamata | Se un gestore è nell'ambito e supera la valutazione, viene chiamato. Viene chiamato qualsiasi completamento associato e viene applicato alla sessione qualsiasi target di transizione associato. |
Impostazioni di regionalizzazione e località
Quando crei un agente, devi specificare una regione come posizione dell'agente. Le richieste inviate al tuo agente vengono gestite dai servizi Google in questa regione e Dialogflow CX mantiene i dati at-rest fisicamente all'interno della regione o della località geografica. Per ottenere prestazioni ottimali, devi scegliere una regione vicina ai tuoi servizi e agli utenti finali.
Una volta creato un agente, la sua posizione non può essere modificata. Per modificare la posizione di un agente, devi esportare e ripristinare un nuovo agente con una posizione diversa.
Ogni località ha impostazioni associate che vengono applicate al tuo progetto. Nella maggior parte dei casi, non è necessario modificare queste impostazioni di geolocalizzazione e le impostazioni predefinite funzioneranno correttamente. Se il tuo sistema richiede chiavi di crittografia gestite dal cliente (spesso richieste da enti governativi o settori regolamentati), scopri di più sulle impostazioni di localizzazione.
Console
Dialogflow CX fornisce un'interfaccia utente web chiamata console Dialogflow CX (visita la documentazione, apri la console). Utilizzi questa console per creare, compilare e testare gli agenti. Traccia un grafico di ogni flusso come un diagramma di macchina a stati conversazionale, che semplifica la progettazione e la comprensione di agenti complessi.
La console Dialogflow CX è diversa dalla Google Cloud console (visita la documentazione, apri la console). La console Dialogflow CX viene utilizzata per gestire gli agenti Dialogflow CX, mentre la console Google Cloud viene utilizzata per gestire le impostazioni di Dialogflow CX specifiche di Google Cloud(ad esempio, la fatturazione) e altre risorse Google Cloud .
Nella maggior parte dei casi, devi utilizzare la console Dialogflow CX per creare agenti, ma puoi anche utilizzare l'API Dialogflow per creare agenti per scenari avanzati.
Integrazioni
Dialogflow CX offre diverse integrazioni integrate con altre piattaforme di conversazione. Queste integrazioni forniscono un'interfaccia utente all'utente finale e chiamano l'API per tuo conto. Tutto ciò che devi fare è creare il tuo agente e, se vuoi, implementare un servizio webhook. Ogni integrazione gestisce le interazioni in modo specifico per la piattaforma, quindi consulta la documentazione specifica dell'integrazione per i dettagli.
Interazioni
Per ogni turno di conversazione, si verifica un'interazione. Durante un'interazione, un utente finale invia un input a Dialogflow CX e Dialogflow CX invia una risposta. Quando implementi il sistema per gestire le interazioni, hai due opzioni: utilizzare l'API o un'integrazione.
Quando utilizzi l'API, il tuo sistema deve gestire quanto segue:
- Crea un agente.
- Fornire un'interfaccia utente per gli utenti finali.
- Chiama l'API Dialogflow per ogni turno di conversazione per inviare l'input utentee finale all'API.
- A meno che le risposte dell'agente non siano puramente statiche (evento raro), devi ospitare un servizio webhook per gestire l'evasione abilitata per i webhook.
Quando utilizzi un'integrazione, il tuo sistema deve gestire solo quanto segue:
- Crea un agente.
- (Facoltativo) Implementa un servizio webhook.
Il seguente diagramma mostra i passaggi che vengono eseguiti per un turno di conversazione di una sessione.
- L'utente finale digita o dice qualcosa, noto come input dell'utente finale.
- L'interfaccia utente o il sistema di integrazione riceve l'input e lo inoltra all'API Dialogflow in una richiesta di rilevamento dell'intent.
- L'API Dialogflow riceve la richiesta di rilevamento dell'intent. Corrisponde all'input a un parametro di intent o modulo, imposta i parametri in base alle esigenze e aggiorna lo stato della sessione. Se deve chiamare un fulfillment abilitato per i webhook, invia una richiesta webhook al tuo servizio webhook, altrimenti vai al passaggio 6.
- Il servizio webhook riceve la richiesta webhook. Il servizio esegue tutte le azioni necessarie, come chiamare API esterne, eseguire query o aggiornare un database e così via.
- Il servizio webhook crea una risposta e invia una risposta webhook a Dialogflow CX.
- Dialogflow CX crea una risposta di rilevamento dell'intent. Se è stato chiamato un webhook, utilizza la risposta fornita nella risposta del webhook. Se non è stato chiamato alcun webhook, viene utilizzata la risposta statica definita nell'agente. Dialogflow CX invia una risposta di rilevamento dell'intent alla tua interfaccia utente o al tuo sistema di integrazione.
- L'interfaccia utente o il sistema di integrazione riceve la risposta di rilevamento dell'intent e inoltra la risposta di testo o audio all'utente finale.
- L'utente finale vede o sente la risposta.