Nozioni di base sull'agente basato sul flusso

Questo documento descrive le nozioni di base sull'utilizzo dei flussi degli agenti conversazionali (Dialogflow CX) per creare un agente. Fornisce una panoramica dei concetti più importanti.

Agenti

Un agente di agenti conversazionali (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. Gli agenti conversazionali (Dialogflow CX) traducono il testo o l'audio dell'utente finale durante una conversazione in dati strutturati comprensibili dalle tue app e dai tuoi servizi. Progetta e crea un agente di Dialogflow CX per gestire i tipi di conversazioni richiesti per il tuo sistema.

Un agente di Dialogflow CX è simile a un agente di call center umano. Devi addestrare entrambi a gestire gli scenari di conversazione previsti, e non è necessario che sia eccessivamente esplicita.

Flussi

I dialoghi complessi spesso coinvolgono più argomenti di conversazione. Ad esempio, un addetto alla consegna di pizza potrebbe avere ordine di cibo, informazioni sul cliente e conferma come argomenti distinti. Ogni argomento richiede più turni di conversazione per un agente per acquisire le informazioni pertinenti dall'utente finale.

I flussi vengono utilizzati per definire questi argomenti e i percorsi di conversazione associati. Ogni agente ha un flusso chiamato Flusso di inizio 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 addetto alla consegna di pizza potrebbero essere i seguenti:

Esempio di diagramma con più flussi.

Pagine

Una conversazione (sessione) di agenti conversazionali (Dialogflow CX) può essere descritta e visualizzata come una macchina a stati. Gli stati di una sessione sono rappresentati da pagine.

Per ogni flow, devi definire molte pagine, in cui le pagine combinate possano gestire una conversazione completa agli argomenti per cui è stato progettato il flusso. In un determinato momento, esattamente una pagina è la pagina corrente, la pagina corrente è considerata attiva, e il flusso associato a quella pagina è considerato attivo. Ogni flusso ha uno speciale pagina iniziale. Quando un flusso diventa inizialmente attivo, la pagina iniziale diventa la pagina corrente. Per ogni svolta colloquiale, la pagina corrente rimarrà invariata o passerà a un'altra pagina.

Configura ogni pagina per raccogliere dall'utente finale informazioni pertinenti per lo stato della conversazione rappresentato dalla pagina. Ad esempio, potresti creare le pagine (in blu) nello schema seguente per un flusso Ordinazione cibo di un addetto alla consegna di pizza. Il nodo Inizia del diagramma rappresenta la pagina di inizio del flusso Ordine di cibo. Una volta completato, passa al flusso Confirmation (Conferma).

Esempio di diagramma a più flussi.

Tipi di entità

I tipi di entità vengono utilizzati per controllare il modo in cui vengono estratti i dati dall'input dell'utente finale.

Gli agenti conversazionali (Dialogflow CX) forniscono entità di sistema che possono corrispondere a molti tipi di dati comuni. Ad esempio, esistono entità di sistema per le date corrispondenti, orari, colori, indirizzi email e così via. Puoi anche creare le tue entità personalizzate per abbinare i dati personalizzati. Ad esempio, puoi definire un'entità di verdura che può abbinare i tipi di verdure disponibili per l'acquisto con un agente del supermercato.

Parametri

Parametri vengono utilizzati per acquisire e fare riferimento forniti dall'utente finale durante una sessione. Ogni parametro ha un nome e un tipo di entità. A differenza dell'input non elaborato dell'utente finale, sono dati strutturati, che possono essere facilmente utilizzati per eseguire alcune logiche o generare risposte.

Moduli

Per ogni pagina puoi definire modulo, un elenco di parametri che deve essere raccolto dall'utente finale per la pagina. L'agente interagisce con l'utente finale in più turni di conversazione, finché non ha raccolto tutti i parametri del modulo richiesti, chiamati anche parametri di pagina. L'agente raccoglie questi parametri nell'ordine definito nella pagina. Per ogni parametro obbligatorio del modulo, fornisci anche messaggi che l'agente utilizza richiedere queste informazioni all'utente finale. Questa procedura è chiamata compilazione di moduli.

Ad esempio, potresti creare un modulo che raccoglie 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 sulla console per l'intent.
Etichette Etichette che consentono di classificare gli intent. Ad esempio: head intent.
Frasi di addestramento Frasi di addestramento sono frasi di esempio che descrivono gli utenti finali che potrebbero digitare o dire noto come input dell'utente finale. Quando l'input dell'utente finale assomiglia a una di queste frasi, agenti di conversazione (Dialogflow CX) trova una corrispondenza con l'intent. Non devi definire ogni possibile esempio, perché il machine learning integrato degli agenti conversazionali (Dialogflow CX) amplia il tuo elenco con altre frasi simili.
Parametri Sei tu a definire le frasi di addestramento da usare parametri per estrarre valori da parti specifiche dell'input dell'utente finale.
Pattern DTMF Consulta DTMF per le integrazioni della telefonia.

Webhook

Webhook sono servizi che ospitano la tua logica di business o chiamare altri servizi. Durante una sessione, i webhook ti consentono di usare i dati estratti dall'elaborazione del linguaggio naturale degli agenti conversazionali (Dialogflow CX) generare risposte dinamiche, convalidare i dati raccolti o attivare azioni sul backend.

Un webhook può essere un webhook standard o un webhook flessibile. Con un webhook standard, i campi di richiesta e risposta sono definiti da agenti conversazionali (Dialogflow CX). Con un webhook flessibile, puoi definire i campi di richiesta e risposta.

Fulfillment

Per il turno di conversazione di un agente, l'agente deve rispondere all'utente finale con una risposta a una domanda, una query per informazioni o la chiusura della sessione. L'agente potrebbe anche dover contattare il servizio per generare risposte dinamiche o eseguire azioni per una svolta. Completamento viene utilizzato per fare tutto questo.

Un adempimento può contenere uno dei seguenti elementi:

  • Messaggi di risposta statici.
  • Le chiamate webhook richiedono risposte dinamiche e/o l'esecuzione di azioni.
  • Preimpostazioni dei parametri per impostare o ignorare i valori dei parametri.

Durante il turno di un agente, è possibile (e a volte auspicabile) chiamare più adempimenti, ciascuno dei quali può generare un messaggio di risposta. Gli agenti conversazionali (Dialogflow CX) mantengono queste risposte in una coda delle risposte. Una volta terminato il turno dell'agente, Gli agenti conversazionali (Dialogflow CX) inviano le risposte ordinate all'utente finale.

Gestori di stato

Gestori di stato, chiamati anche semplicemente gestori, vengono utilizzati per controllare la conversazione creando risposte per gli utenti finali e/o eseguendo la transizione della pagina corrente. Per ogni svolta colloquiale, i gestori vengono valutati e possono influire sulla sessione. I gestori hanno tre tipi generali di dati:

Termine Definizione
Requisiti per i gestori Questi sono i requisiti che devono essere soddisfatti per consentire all'handler di avere un effetto sulla sessione. Un gestore viene chiamato chiamato quando soddisfa i suoi requisiti. e influisce sulla sessione in qualche modo.
Fulfillment dell'handler Se viene chiamato un gestore, un'opzione facoltativa fulfillment viene utilizzato per creare risposte per gli utenti finali. Queste risposte sono definiti nei dati statici dell'agente o recuperato dinamicamente dal tuo servizio webhook.
Destinazione della transizione dell'handler Se viene chiamato un gestore, viene utilizzato un target di transizione facoltativo per modificare la pagina corrente. La pagina successiva può essere solo una pagina di inizio del flusso o una pagina all'interno del flusso attualmente attivo.

Esistono due tipi di gestori dello stato con requisiti diversi per i gestori:

Termine Definizione
Route I percorsi vengono richiamati quando un input dell'utente finale corrisponde a un intent e/o viene soddisfatta una condizione relativa allo stato della sessione. Un percorso con un requisito di intent è chiamato anche percorso di intent. Un percorso con solo un requisito di condizione è chiamato anche percorso con condizione.
Gestori di eventi Gestori di eventi vengono richiamate quando viene richiamato un evento. Alcune eventi integrati vengono attivati quando ricevo un input imprevisto da parte dell'utente finale, o quando si verifica un errore relativo al webhook. Puoi anche definire eventi personalizzati che vengono richiamati quando accade qualcosa al di fuori della conversazione.

Esistono tre passaggi per l'elaborazione di un gestore dello stato:

Termine Definizione
1. Ambito Un gestore deve rientrare nell'ambito per avere un effetto sulla sessione. L'ambito è determinato dal fatto che un gestore sia applicato a un flusso, a una pagina o a un parametro di 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 di modulo associato.
2. Valutazione Ogni gestore nell'ambito viene valutato in ordine. Se i requisiti di un gestore vengono soddisfatti, il gestore supera la valutazione.
3. Chiamata Se un gestore è nell'ambito e supera la valutazione, viene chiamato. Viene chiamato qualsiasi adempimento associato e qualsiasi target di transizione associato viene applicato alla sessione.

Impostazioni regionali e di geolocalizzazione

Quando crei un agente, devi specificare una regione come posizione dell'agente. Le richieste inviate all'agente vengono gestite dai servizi Google in questa regione e gli agenti conversazionali (Dialogflow CX) mantengono i dati at-rest fisicamente all'interno della regione o località geografica. Per ottenere le migliori prestazioni, devi scegliere una regione vicina ai tuoi servizi e agli utenti finali.

Una volta creato, l'agente non può essere spostato. Per cambiare la località di un agente, devi esportare e ripristinare a un nuovo agente con una località diversa.

A ogni località sono associate impostazioni che si applicano al progetto. Nella maggior parte dei casi non è necessario modificare queste impostazioni di geolocalizzazione, e le impostazioni predefinite funzioneranno bene. 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 geolocalizzazione.

Console

Gli agenti conversazionali (Dialogflow CX) forniscono un'interfaccia utente web chiamata console Dialogflow CX (visita la documentazione, apri la console). Puoi utilizzare questa console per creare, creare e testare agenti. Traccia ogni flusso come un diagramma di macchina a stato conversazionale, che semplifica la progettazione e la comprensione degli agenti complessi.

La console Dialogflow CX è diversa dalla Google Cloud Console (consulta la documentazione, apri la console). La console Dialogflow CX viene utilizzata per gestire gli agenti di Dialogflow CX, mentre la console Google Cloud viene utilizzata per gestire le impostazioni di Dialogflow CX specifiche di Google Cloud (ad es. la fatturazione) e altre risorse Google Cloud.

Nella maggior parte dei casi devi utilizzare la console Dialogflow CX per creare agenti, ma puoi anche usare l'API Dialogflow per creare agenti per scenari avanzati.

Integrazioni

Gli agenti conversazionali (Dialogflow CX) forniscono diverse integrazioni predefinite con altre piattaforme di conversazione. Queste integrazioni forniscono un'interfaccia utente all'utente finale e chiamano l'API per te. Devi solo creare il tuo agente e, facoltativamente, implementare un webhook completamente gestito di Google Cloud. Ogni integrazione gestisce le interazioni in un modo specifico della piattaforma, consulta la documentazione sull'integrazione specifica per maggiori dettagli.

Interazioni

Per ogni turno di conversazione, ha luogo un'interazione. Durante un'interazione, un utente finale invia un input agli agenti conversazionali (Dialogflow CX), e agenti conversazionali (Dialogflow CX) invia una risposta. Quando implementi il sistema per gestire le interazioni, hai due opzioni: utilizzare l'API o un'integrazione.

Quando utilizzando l'API, il sistema deve gestire quanto segue:

  • Crea un agente.
  • Fornisci un'interfaccia utente per gli utenti finali.
  • Chiama l'API Dialogflow per ogni turno di conversazione per inviare l'input dell'utente finale all'API.
  • A meno che le risposte dell'agente non siano puramente statiche (non comuni), devi ospitare un servizio webhook per gestire i webhook abilitati per i webhook, fulfillment.

Se utilizzi un integrazione, il sistema deve gestire solo quanto segue:

  • Crea un agente.
  • Facoltativamente, implementa un servizio webhook.

Il seguente diagramma mostra i passaggi che vengono eseguiti per un solo turno di conversazione durante una sessione.

Diagramma di flusso dell'API.

  1. L'utente finale digita o dice qualcosa, noto come input dell'utente finale.
  2. L'interfaccia utente o il sistema di integrazione riceve l'input e lo inoltra all'API Dialogflow in una richiesta di rilevamento dell'intenzione.
  3. L'API Dialogflow riceve la richiesta di rilevamento dell'intento. Corrisponde all'input di un intent o a un parametro del modulo imposta i parametri in base alle esigenze e aggiorna lo stato della sessione. Se deve chiamare un'implementazione con webhook abilitato, invia una richiesta webhook al tuo servizio webhook, in caso contrario, vai al passaggio 6.
  4. 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.
  5. Il servizio webhook crea una risposta e invia un risposta webhook agli agenti conversazionali (Dialogflow CX).
  6. Gli agenti conversazionali (Dialogflow CX) creano una risposta di rilevamento dell'intent. Se è stato chiamato un webhook, viene utilizzata la risposta fornita nella risposta dell'webhook. Se non è stato chiamato alcun webhook, viene utilizzata la risposta statica definita nell'agente. Gli agenti conversazionali (Dialogflow CX) inviano una risposta di rilevamento dell'intent alla tua interfaccia utente o al tuo sistema di integrazione.
  7. L'interfaccia utente o il sistema di integrazione riceve la risposta al rilevamento dell'intenzione e inoltra la risposta di testo o audio all'utente finale.
  8. L'utente finale vede o sente la risposta.