Questa guida mostra come inviare un input audio a una richiesta di rilevamento di intent utilizzando l'API. Dialogflow elabora l'audio e lo converte in testo prima di tentare una corrispondenza di intent. Questa conversione è nota come input audio, riconoscimento vocale, trasmissione vocale o STT.
Prima di iniziare
Questa funzione è applicabile solo se si utilizza l'API per interazioni con l'utente finale. Se utilizzi un integrazione, puoi saltare questa guida.
Prima di leggere questa guida, devi procedere nel seguente modo:
- Leggi le nozioni di base su Dialogflow.
- Esegui la procedura di configurazione.
Crea un agente
Se non hai ancora creato un agente, creane uno ora:
- Vai alla console Dialogflow ES.
- Se richiesto, accedi alla console Dialogflow. Per ulteriori informazioni, consulta la panoramica della console Dialogflow.
- Fai clic su Create Agent (Crea agente) nel menu della barra laterale sinistra. (Se hai già altri agenti, fai clic sul nome dell'agente scorri fino in fondo e fai clic su Crea nuovo agente.)
- Inserisci il nome, la lingua e il fuso orario predefiniti dell'agente.
- Se hai già creato un progetto, inseriscilo. Se vuoi consentire alla console di Dialogflow di creare il progetto: Seleziona Crea un nuovo progetto Google.
- Fai clic su pulsante Crea.
Importa il file di esempio nell'agente
I passaggi in questa guida fanno delle ipotesi sul tuo agente, quindi devi importa un agente preparato per questa guida. Durante l'importazione, questi passaggi utilizzano l'opzione ripristina, che sovrascrive tutte le impostazioni, gli intent e le entità dell'agente.
Per importare il file:
-
Scarica
room-booking-agent.zip
. - Vai alla console Dialogflow ES.
- Seleziona l'agente.
- Fai clic sull' pulsante impostazioni settings accanto al nome dell'agente.
- Seleziona la scheda Esporta e importa.
- Seleziona Ripristina da ZIP e segui le istruzioni per ripristinare il file ZIP che hai scaricato.
Rilevamento dell'intento
Per rilevare l'intento,
chiama il metodo detectIntent
nella
Sessions
di testo.
REST
Scaricabook-a-room.wav
file audio di input di esempio,
che dice "prenota una camera".
In questo esempio, il file audio deve essere codificato in base64,
in modo che possa essere fornito nella richiesta JSON di seguito.
Ecco un esempio di Linux:
wget https://cloud.google.com/dialogflow/es/docs/data/book-a-room.wav base64 -w 0 book-a-room.wav > book-a-room.b64
Per esempi su altre piattaforme, vedi Codifica Base64 dei contenuti audio nella documentazione dell'API Cloud Speech-to-Text.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- AUDIO: i contenuti audio codificati in base64
Metodo HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
Corpo JSON della richiesta:
{ "queryInput": { "audioConfig": { "languageCode": "en-US" } }, "inputAudio": "AUDIO" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "responseId": "3c1e5a89-75b9-4c3f-b63d-4b1351dd5e32", "queryResult": { "queryText": "book a room", "action": "room.reservation", "parameters": { "time": "", "date": "", "guests": "", "duration": "", "location": "" }, "fulfillmentText": "I can help with that. Where would you like to reserve a room?", "fulfillmentMessages": [ { "text": { "text": [ "I can help with that. Where would you like to reserve a room?" ] } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/e8f6a63e-73da-4a1a-8bfc-857183f71228", "displayName": "room.reservation" }, "intentDetectionConfidence": 1, "diagnosticInfo": {}, "languageCode": "en-us" } }
Tieni presente che il valore del campo queryResult.action
è "room.reservation",
e il valore dell'attributo queryResult.fulfillmentMessages[0|1].text.text[0]
richiede ulteriori informazioni all'utente.
Go
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Dialogflow, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento Dialogflow per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento Dialogflow per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento Dialogflow per Ruby.