Se non utilizzi un'integrazione, devi scrivere il codice per interagire con gli utenti finali. Per ogni turno di conversazione, il codice chiama l'API Dialogflow per eseguire query sull'agente. Questa guida mostra come interagire con un agente utilizzando l'API REST nella riga di comando e le librerie client.
Prima di iniziare
Se non prevedi di utilizzare l'API, puoi saltare questa guida rapida.
Prima di leggere questa guida, devi procedere nel seguente modo:
- Comprendi le nozioni di base su Dialogflow.
- Esegui la procedura di configurazione.
- Esegui i passaggi nella guida rapida
Creare un agente.
I passaggi riportati di seguito continuano a lavorare con l'agente che hai iniziato nella guida.
Se non hai più l'agente, puoi scaricare
build-agent-quickstart.zip
e importare il file.
Sessioni
Una sessione rappresenta una conversazione tra un agente Dialogflow e un utente finale. Puoi creare una sessione all'inizio di una conversazione e utilizzarla per ogni turno della conversazione. Una volta terminata la conversazione, interrompi l'utilizzo della sessione.
Non utilizzare la stessa sessione per conversazioni simultanee con utenti finali diversi. Dialogflow mantiene i contesti attualmente attivi per ogni sessione attiva. I dati delle sessioni vengono archiviati da Dialogflow per 20 minuti.
Ogni sessione è determinata in modo univoco da un ID sessione generato dal tuo sistema. Puoi creare una nuova sessione fornendo un nuovo ID sessione in una richiesta di rilevamento dell'intento. Un ID sessione è una stringa di massimo 36 byte. Il tuo sistema è responsabile della generazione di ID sessione univoci. Possono essere numeri casuali, identificatori di utenti finali con hash o qualsiasi altro valore che tu possa generare con facilità.
Rilevamento dell'intento
Quando utilizzi l'API per le interazioni, il tuo servizio interagisce direttamente con l'utente finale.
Per ogni turno di conversazione, il servizio invia espressioni degli utenti finali a Dialogflow chiamando il metodo detectIntent
o streamingDetectIntent
del tipo Sessions
.
Dialogflow risponde con informazioni sull'intent corrispondente,
sull'azione, sui parametri e sulla risposta definita per l'intent.
Il servizio esegue le azioni necessarie
(ad esempio, query sul database o chiamate API esterne)
e invia un messaggio all'utente finale.
Questo processo continua fino al termine della conversazione.
I seguenti esempi mostrano come rilevare l'intento. Ogni esempio accetta un sottoinsieme dei seguenti input:
- ID progetto: utilizza l'ID per il progetto che hai creato nei passaggi di configurazione.
- ID sessione: ai fini di testare un agente, puoi utilizzare qualsiasi cosa, Ad esempio, "123456789" viene spesso utilizzato dai campioni.
- Testo o testi: si tratta della singola espressione dell'utente finale o dell'elenco di espressioni dell'utente finale. Se vengono fornite più espressioni, le chiamate del codice campione rilevano l'intent per ogni espressione. Prova a usare "Conosco il francese".
- Codice lingua: il codice lingua per l'espressione dell'utente finale. Utilizza "en-US" per questo agente di esempio.
REST
Per rilevare l'intent, chiama il metododetectIntent
sulla risorsa Sessions
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SESSION_ID: un ID sessione
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
Corpo JSON della richiesta:
{ "query_input": { "text": { "text": "I know french", "language_code": "en-US" } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "responseId": "856510ca-f617-4e25-b0bb-a26c0a59e030-19db3199", "queryResult": { "queryText": "I know french", "parameters": { "language": "French", "language-programming": "" }, "allRequiredParamsPresent": true, "fulfillmentText": "Wow! I didn't know you knew French. How long have you known French?", "fulfillmentMessages": [ { "text": { "text": [ "Wow! I didn't know you knew French. How long have you known French?" ] } } ], "outputContexts": [ { "name": "projects/PROJECT_ID/agent/sessions/123456789/contexts/set-language-followup", "lifespanCount": 2, "parameters": { "language": "French", "language.original": "french", "language-programming": "", "language-programming.original": "" } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/fe45022f-e58a-484f-96e8-1cbd6628f648", "displayName": "set-language" }, "intentDetectionConfidence": 1, "languageCode": "en" } }
Tieni presente quanto segue in merito alla risposta:
- Il campo
queryResult.intent
contiene l'intent corrispondente. - Il valore del campo
queryResult.fulfillmentMessages
contiene la risposta di intent. Si tratta della risposta che il sistema deve inoltrare all'utente finale. - Il valore del campo
queryResult.parameters
contiene i parametri estratti dall'espressione dell'utente finale. - Il campo
queryResult.outputContext
contiene il contesto attivo.
Go
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni per la configurazione di C# nella pagina delle librerie client, quindi consulta la documentazione di riferimento Dialogflow per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento Dialogflow per PHP.
Ruby: segui le istruzioni per la configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento Dialogflow per Ruby.
Produzione
Prima di eseguire l'agente in produzione, assicurati di implementare le best practice per la produzione.