Creare un agente Dialogflow ES
Utilizza la console di Dialogflow ES per creare e testare un agente.
Prima di iniziare
Prima di iniziare, completa i seguenti passaggi:
- Leggi le nozioni di base di Dialogflow.
- Completa i passaggi di configurazione.
Crea un agente
- Vai alla console di Dialogflow ES.
- Se richiesto, accedi alla console di Dialogflow. Per ulteriori informazioni, consulta la panoramica della console di Dialogflow.
- Nel menu della barra laterale, fai clic su Agenti.
- Seleziona la scheda I tuoi agenti di cui è stato eseguito il deployment.
- Fai clic su Crea agente.
- Inserisci il nome dell'agente, la lingua predefinita e il fuso orario predefinito.
- Inserisci un progetto esistente. Per consentire alla console di Dialogflow di creare un progetto, seleziona Crea un nuovo progetto Google.
- Fai clic su Crea.
Intent
Gli intent classificano l'intenzione di un utente finale per un turno di conversazione. Per ogni agente, definisci molti intent che insieme gestiscono una conversazione completa.
Intent predefiniti
Quando crei un agente, Dialogflow crea due intent predefiniti per te:
- Intent di benvenuto predefinito: questo intent corrisponde a quando l'utente finale inizia una conversazione con il tuo agente. Restituisce una risposta che informa l'utente finale di cosa fa il tuo agente o di cosa può dire per iniziare una conversazione.
- Intent di fallback predefinito: questo intent corrisponde a quando l'agente non riesce a trovare una corrispondenza tra l'espressione dell'utente finale e qualsiasi altro intent.
Per visualizzare questi intent, vai all'elenco degli intent del tuo agente:
- Vai alla console di Dialogflow ES.
- Seleziona l'agente che hai creato.
- Fai clic su Intent nel menu della barra laterale.
Al centro della console di Dialogflow viene visualizzato l'elenco degli intent dell'agente.

Testare l'intent di fallback predefinito

Il simulatore di Dialogflow si trova sul lato destro della console. Con il simulatore, puoi testare il tuo agente parlando o digitando messaggi.
Prova l'agente ora:
- Fai clic sul campo Provalo subito.
- Digita
What is your name?. - Premi Invio.
La risposta dell'agente viene visualizzata nella sezione Risposta predefinita. Poiché l'input non corrisponde a nessun intent, è stato trovato l'intent di fallback predefinito e hai ricevuto una delle risposte predefinite.
Creare un intent
I passaggi descritti in questa sezione creano un intent che risponde alla domanda "What is your name?" Per ogni intent, definisci molte frasi di addestramento. Una frase di addestramento è un esempio di ciò che un utente finale potrebbe digitare o dire al tuo agente, nota anche come espressione dell'utente finale. Definisci le frasi di addestramento che aiutano Dialogflow a trovare una corrispondenza tra le espressioni e un intent.
Crea un intent:
- Fai clic sul pulsante Aggiungi intent accanto a Intent nel menu della barra laterale.
- Inserisci
get-agent-namenel campo Nome intent. - Nella sezione Frasi di addestramento, fai clic su Aggiungi frasi di addestramento.
Inserisci le seguenti frasi di addestramento:
What is your name?Do you have a name?Tell me your name

Nella sezione Risposte, inserisci quanto segue nella sezione Risposta di testo:
My name is Dialogflow!

Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Testare l'intent

Nel simulatore, digita What's your name? e premi Invio.
L'agente risponde correttamente all'espressione, anche se questa differisce leggermente dalle frasi di addestramento fornite.
Dialogflow utilizza le frasi di addestramento come esempi per un modello di machine learning per trovare una corrispondenza tra le espressioni dell'utente finale e gli intent. Il modello confronta l'espressione con ogni intent dell'agente, assegna un punteggio a ogni intent e trova una corrispondenza con l'intent con il punteggio più alto. Se l'intent con il punteggio più alto ha un punteggio molto basso, viene trovato l'intent di fallback.
Parametri ed entità
Quando viene trovato un intent in fase di runtime, Dialogflow fornisce i valori estratti dall'espressione dell'utente finale come parametri. Ogni parametro ha un tipo, chiamato tipo di entità, che determina esattamente come vengono estratti i dati. A differenza dell'input non elaborato dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.Per controllare la modalità di estrazione dei dati durante la creazione di un agente, annota le parti delle frasi di addestramento e configura i parametri associati.
Creare parametri
Crea i parametri dell'intent:
- Fai clic sul pulsante Aggiungi accanto a Intent nel menu della barra laterale.
- Assegna all'intent il nome
set-languagenella parte superiore del modulo dell'intent. - Aggiungi le seguenti frasi di addestramento:
I know EnglishI speak FrenchI know how to write in German
Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.

Dialogflow rileva automaticamente i parametri nelle frasi di addestramento che sono riconosciuti come entità di sistema. Si tratta di entità fornite da Dialogflow per molti tipi di dati comuni, come località, colore e data.
Dopo aver aggiunto le frasi di addestramento, Dialogflow crea una riga nella tabella Azione e parametri:

- Obbligatorio: non selezionato; questo parametro è facoltativo.
- Nome parametro: denominato automaticamente
languageperché riconosciuto come lingua. - Entità: riconosciuta come entità di sistema
@sys.language. - Valore: l'identificatore utilizzato quando si fa riferimento al valore di questo parametro.
- È un elenco: non selezionato; questo parametro non è un elenco.
Utilizzare i dati dei parametri in una risposta
Puoi utilizzare il valore di un parametro nelle risposte. Ad esempio, puoi utilizzare il riferimento al parametro $language nelle risposte durante la creazione di un agente. In fase di runtime, l'agente lo sostituisce con la lingua specificata nell'espressione dell'utente finale.
Aggiungi una risposta che utilizza un parametro:
- Vai alla sezione Risposte.
- Nella sezione Risposta di testo, aggiungi quanto segue:
Wow! I didn't know you knew $language. - Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Testare il parametro

Nel simulatore, digita I know Russian. Puoi notare che Dialogflow estrae correttamente il parametro language con il valore Russian e che Russian è stato inserito correttamente dove è stato utilizzato il riferimento al parametro nella risposta.
Creare le proprie entità
Nella maggior parte dei casi, devi raccogliere dati specifici dagli utenti che non vengono forniti dalle entità di sistema. Puoi creare entità personalizzate per gestire questa situazione.
Crea un'entità personalizzata:
- Fai clic sul pulsante Aggiungi entità accanto a Entità nel menu della barra laterale.
- Inserisci
language-programmingcome nome dell'entità. Aggiungi le seguenti voci di entità (righe):
Valore di riferimento Sinonimi JavaScript JavaScript, js, ECMAScript Java Java Python Python, py Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.

Dialogflow è in grado di gestire casi semplici come la pluralità e le maiuscole. Aggiungi tutti i sinonimi possibili per le voci. Più sinonimi aggiungi, meglio l'agente può identificare le tue entità.
Utilizzare la nuova entità
Aggiungi frasi di addestramento all'intent set-language che utilizzano la nuova entità:
- Fai clic su Intent nel menu della barra laterale.
- Fai clic sull'intent
set-language. - Aggiungi le seguenti frasi di addestramento:
I know javascriptI know how to code in Java
- Osserva che i linguaggi di programmazione in queste frasi di addestramento vengono annotati automaticamente e aggiunti ai parametri nella sezione Azione e parametri.
- Nella sezione Risposte, aggiungi la seguente seconda risposta di testo:
$language-programming is an excellent programming language. - Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Testare la nuova entità

Nel simulatore, inserisci I know how to code in py. Dialogflow estrae correttamente py per il parametro language-programming, lo identifica come entità Python e inserisce il valore nella risposta.
Contesti
Per controllare il flusso della conversazione, puoi utilizzare i contesti.
Aggiungere un intent di follow-up
Gli _intent di follow-up_ ti consentono di controllare una conversazione senza creare e gestire manualmente i contesti.
Quando crei un intent di follow-up, viene aggiunto un contesto di output all'intent principale e un contesto di input con lo stesso nome all'intent secondario. Ciò significa che l'intent di follow-up viene trovato solo quando l'intent principale viene trovato nel turno di conversazione precedente.
Aggiungi un intent di follow-up personalizzato all'intent set-language:
- Seleziona l'intent
set-languageche hai creato nei passaggi precedenti. - Nella sezione Risposta, aggiorna la risposta di testo:
Wow! I didn't know you knew $language. How long have you known $language?
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
- Fai clic su Intent nel menu della barra laterale.
- Posiziona il cursore sull'intent
set-languagee fai clic su Aggiungi intent di follow-up. - Fai clic su Personalizzato nell'elenco.
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Dialogflow assegna automaticamente all'intent di follow-up il nome set-language - custom.

Corrispondenza degli intent con gli intent di follow-up
Gli intent di follow-up vengono trovati solo dopo che è stato trovato l'intent principale. Poiché
l'intent set-language - custom viene trovato solo dopo l'intent set-language
, all'utente è stata appena posta la domanda "How long have you known
$language?" Aggiungi frasi di addestramento per le risposte probabili degli utenti a questa domanda:
- Fai clic su Intent nel menu della barra laterale.
- Fai clic sull'intent
set-language - custom. - Aggiungi le seguenti frasi di addestramento:
3 yearsabout 4 daysfor 5 years
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Testare l'intent di follow-up
Inserisci I know French nel simulatore e poi rispondi alla domanda How long have you known French con about 2 weeks.
Nonostante non ci sia una risposta per la seconda espressione (about 2 weeks),
vedi che l'espressione corrisponde all'intent corretto
(set-language - custom) e che il parametro di durata viene analizzato correttamente
(2 weeks).
Intent e contesti
Esamina l'intent set-language per vedere che set-language-followup è elencato
come contesto di output preceduto dal numero 2. Questo numero è chiamato la
durata.

Dopo che è stato trovato l'intent set-language, il contesto set-language-followup
è attivo e collegato alla conversazione per due turni (durata 2).
Pertanto, quando rispondi a una domanda come How long have you known $language?, il contesto set-language-followup è attivo.
Esamina l'intent set-language - custom per vedere che set-language-followup
è elencato come contesto di input, che è lo stesso del contesto di output per l'
set-language intent.
Quando Dialogflow trova una corrispondenza tra gli intent, viene data la priorità a tutti gli intent con un contesto di input che corrisponde a un contesto attivo.
Contesti e parametri
I contesti memorizzano i valori dei parametri e puoi accedere ai valori dei parametri definiti nell'intent set-language quando il relativo contesto di output è attivo. Nell'intent set-language - custom, hai chiesto solo la durata per cui l'utente conosce la lingua e non la lingua a cui si fa riferimento.
Per fare riferimento alla lingua nella risposta:
- Aggiorna la risposta di testo dell'intent
set-language - customaI can't believe you've known #set-language-followup.language for $duration! - Fai clic sul pulsante Salva e attendi che la finestra di dialogo Addestramento agente indichi che l'addestramento è completato.
Il riferimento #set-language-followup.language è un
riferimento a un parametro per un contesto attivo.
Testare il parametro di contesto
Inserisci I know French nel simulatore e poi rispondi alla domanda con 1 week. Tieni presente che il valore parametro language viene recuperato dal contesto.
Produzione
Prima di eseguire l'agente in produzione, implementa le best practice di produzione.
Passaggi successivi
Prova la guida rapida di Fulfillment.