Se non utilizzi un' integrazione, devi scrivere codice per interagire con gli utenti finali. Per ogni turno di conversazione, il codice chiama l'API Dialogflow per eseguire una query sull'agente. Questa guida mostra come interagire con un agente utilizzando l'API REST dalla riga di comando e le librerie client.
Prima di iniziare
Se non prevedi di utilizzare l'API, puoi saltare questo avvio rapido.
Prima di leggere questa guida, devi:
- Comprendere le nozioni di base di Dialogflow.
- Eseguire i passaggi di configurazione .
- Eseguire i passaggi descritti nella guida di avvio rapido
Creare un agente.
I passaggi riportati di seguito continuano a lavorare sull'agente che hai creato in quella guida.
Se non hai più quell'agente, puoi scaricare
build-agent-quickstart.zipe importare il file.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare le attività descritte in questa guida, chiedi all'amministratore di concederti il ruolo IAM Client API Dialogflow (roles/dialogflow.client) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Sessioni
Una sessione rappresenta una conversazione tra un agente Dialogflow e un utente finale. Crea una sessione all'inizio di una conversazione e la utilizzi per ogni turno della conversazione. Una volta terminata la conversazione, interrompi l'utilizzo della sessione.
Non devi utilizzare la stessa sessione per conversazioni simultanee con utenti finali diversi. Dialogflow mantiene i contesti attualmente attivi per ogni sessione attiva. I dati della sessione vengono archiviati da Dialogflow per 20 minuti.
Ogni sessione è determinata in modo univoco da un ID sessione generato dal tuo sistema. Crea una nuova sessione fornendo un nuovo ID sessione in una richiesta di rilevamento intent. Un ID sessione è una stringa di dimensioni massime di 36 byte. Il tuo sistema è responsabile della generazione di ID sessione univoci. Possono essere numeri casuali, identificatori utente finali con hash, o qualsiasi altro valore che ti sia comodo generare.
Rilevamento intent
Quando utilizzi l'API per le interazioni,
il tuo servizio interagisce direttamente con l'utente finale.
Per ogni turno di conversazione,
il tuo servizio invia le espressioni dell'utente finale a Dialogflow chiamando il
detectIntent o streamingDetectIntent metodo del
Sessions
tipo.
Dialogflow risponde con informazioni sull'intent corrispondente,
l'azione, i parametri e la risposta definiti per l'intent.
Il tuo servizio esegue le azioni necessarie
(ad esempio, query di database o chiamate API esterne)
e invia un messaggio all'utente finale.
Questo processo continua fino al termine della conversazione.
Gli esempi riportati di seguito mostrano come rilevare l'intent. Ogni esempio accetta un sottoinsieme dei seguenti input:
- ID progetto: utilizza l'ID progetto per il progetto che hai creato nei passaggi di configurazione.
- ID sessione: ai fini del test di un agente, puoi utilizzare qualsiasi elemento. Ad esempio, "123456789" viene spesso utilizzato dagli esempi.
- Testo o testi: si tratta della singola espressione dell'utente finale o dell'elenco di espressioni dell'utente finale. Se vengono fornite più espressioni, il codice campione chiama il rilevamento intent per ogni espressione. Prova a utilizzare "I know french".
- 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, apporta le sostituzioni seguenti:
- 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 di queste 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.intentcontiene l'intent corrispondente. - Il valore del campo
queryResult.fulfillmentMessagescontiene la risposta dell'intent. Questa è la risposta che il tuo sistema deve inoltrare all'utente finale. - Il valore del campo
queryResult.parameterscontiene i parametri estratti dall'espressione dell'utente finale. - Il campo
queryResult.outputContextcontiene il contesto attivo.
Go
Per eseguire l'autenticazione in Dialogflow CX, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione in Dialogflow CX, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Dialogflow CX, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Dialogflow CX, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Dialogflow CX per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Dialogflow CX per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Dialogflow CX per Ruby.
Produzione
Prima di eseguire l'agente in produzione, assicurati di implementare le best practice di produzione.