Questa pagina mostra come eseguire lo streaming dell'input audio a una richiesta di rilevamento dell'intento utilizzando l'API. Dialogflow elabora l'audio e lo converte in testo prima di tentare una corrispondenza dell'intento. 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 le nozioni di base su Dialogflow.
- Esegui i passaggi di configurazione.
Crea un agente
- Vai alla console di Dialogflow ES.
- Se ti viene richiesto, accedi alla console di Dialogflow. Per saperne di più, consulta la panoramica della console di Dialogflow .
- Nel menu della barra laterale, espandi Caricamento agenti.
- Fai clic su Crea nuovo 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.
Importa il file di esempio nell'agente
I passaggi descritti in questa guida presuppongono che tu abbia un agente, quindi devi importarne uno preparato per questa guida. Durante l'importazione, questi passaggi utilizzano l'opzione restore , che sovrascrive tutte le impostazioni, gli intenti e le entità dell'agente.
Per importare il file:
-
Scarica il
room-booking-agent.zipfile. - Vai alla console di Dialogflow ES.
- Seleziona il tuo agente.
- Fai clic sul pulsante delle 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.
Nozioni di base sullo streaming
Il metodo streamingDetectIntent del tipo Session
restituisce un oggetto di streaming gRPC bidirezionale.
I metodi disponibili per questo oggetto variano in base alla lingua, quindi consulta la documentazione di riferimento della libreria client per i dettagli.
L'oggetto di streaming viene utilizzato per inviare e ricevere dati contemporaneamente.
Utilizzando questo oggetto, il client esegue lo streaming dei contenuti audio a Dialogflow, ascoltando contemporaneamente una StreamingDetectIntentResponse.
Il metodo streamingDetectIntent ha un parametro query_input.audio_config.single_utterance che influisce sul riconoscimento vocale:
- Se
false(valore predefinito), il riconoscimento vocale non si interrompe finché il client non chiude lo stream. - Se
true, Dialogflow rileverà una singola espressione pronunciata nell'audio di input. Quando Dialogflow rileva che la voce dell'audio si è interrotta o è in pausa, interrompe il riconoscimento vocale e invia al client unaStreamingDetectIntentResponsecon un risultato di riconoscimentoEND_OF_SINGLE_UTTERANCE. Qualsiasi audio inviato a Dialogflow nello stream dopo la ricezione diEND_OF_SINGLE_UTTERANCEviene ignorato da Dialogflow.
Nello streaming bidirezionale, un client può chiudere parzialmente l'oggetto stream per segnalare al server che non invierà altri dati.
Ad esempio, in Java e Go, questo metodo si chiama closeSend.
È importante chiudere parzialmente (ma non interrompere) gli stream nelle seguenti situazioni:
- Il client ha terminato l'invio dei dati.
- Il client è configurato con
single_utteranceimpostato su true e riceve unaStreamingDetectIntentResponsecon un risultato di riconoscimentoEND_OF_SINGLE_UTTERANCE.
Dopo aver chiuso uno stream, il client deve avviare una nuova richiesta con un nuovo stream, se necessario.
Rilevamento dell'intento di streaming
I seguenti esempi utilizzano il
Session
tipo's streamingDetectIntent metodo per eseguire lo streaming dell'audio.
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.
Esempi
Consulta la pagina degli esempi per le best practice sullo streaming da un microfono del browser a Dialogflow.