Questa guida mostra come inviare l'input audio a una richiesta di rilevamento dell'intent utilizzando l'API. Dialogflow elabora l'audio e lo converte in testo prima di tentare di trovare una corrispondenza con l'intent. Questa conversione è nota come input audio, riconoscimento vocale, conversione della voce in testo o STT.
Prima di iniziare
Questa funzionalità è applicabile solo quando si utilizza l'API per le interazioni con gli utenti finali. Se utilizzi un'integrazione, puoi saltare questa guida.
Prima di leggere questa guida, devi:
- Leggi 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 di Dialogflow.
- Fai clic su Crea agente nel menu della barra laterale a sinistra. Se hai già altri agenti, fai clic sul nome dell'agente, scorri verso il basso e fai clic su Crea nuovo agente.
- Inserisci il nome, la lingua predefinita e il fuso orario predefinito dell'agente.
- Se hai già creato un progetto, inseriscilo. Se vuoi consentire alla console 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 di questa guida si basano su ipotesi relative al tuo agente, quindi devi importare 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 il file
room-booking-agent.zip
. - Vai alla console Dialogflow ES.
- Seleziona il tuo agente.
- Fai clic sul 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.
Rilevare l'intento
Per rilevare l'intent,
chiama il metodo detectIntent
sul
tipo Sessions
.
REST
Scarica il file audio di input di esempiobook-a-room.wav
,
che dice "prenota una stanza".
Per questo esempio, il file audio deve essere codificato in base64,
in modo da poter essere fornito nella richiesta JSON riportata di seguito.
Ecco un esempio per 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 in base64 dei contenuti audio nella documentazione dell'API Cloud Speech-to-Text.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- AUDIO: il contenuto audio codificato 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 di queste 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 del campo queryResult.fulfillmentMessages[0|1].text.text[0]
chiede all'utente ulteriori informazioni.
Go
Per eseguire l'autenticazione in Dialogflow, configura le 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 le 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 le 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 le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento di Dialogflow per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Dialogflow per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Dialogflow per Ruby.