Puoi utilizzare la funzionalità di streaming esteso per trasmettere in streaming contenuti audio a Dialogflow e trasmettere in streaming i suggerimenti degli agenti umani. Per utilizzare questa funzionalità, devi configurare un modello Speech-to-Text che supporti una singola espressione.
In genere, chiudi parzialmente o indichi all'API Dialogflow quando terminare lo stream per generare la trascrizione finale e i suggerimenti di Agent Assist. Questo avviene durante i turni di conversazione, quando l'API riceve il parametro is_final=true dal risultato del riconoscimento, StreamingAnalyzeContentResponse.recognition_result.
Lo streaming esteso riduce la necessità di chiudere parzialmente i turni di conversazione. Estende il timeout della connessione a tre minuti, durante i quali puoi inviare stream audio senza chiudere parzialmente. L'API Dialogflow invia automaticamente le trascrizioni finali e i suggerimenti di Agent Assist allo stream. Riavvia lo stream solo se si verifica un timeout.
Nozioni di base sullo streaming
La funzionalità di streaming esteso di Agent Assist è simile allo streaming
audio per la trascrizione vocale. Il tuo sistema trasmette in streaming i dati audio all'API e Dialogflow trasmette in streaming i dati StreamingAnalyzeContentResponse. I dati restituiti includono suggerimenti per i tuoi agenti umani.
Per utilizzare lo streaming esteso, chiama il
streamingAnalyzeContent
metodo.
Lo streaming esteso supporta solo la fase di Agent Assist. Consulta la fase di conversazione stage. Per utilizzare questa funzionalità, procedi nel seguente modo:
- Chiama il metodo
streamingAnalyzeContente imposta i seguenti campi:StreamingAnalyzeContentRequest.audio_config.audio_encoding:AUDIO_ENCODING_LINEAR_16oAUDIO_ENCODING_MULAWenable_extended_streaming:true.
- La prima richiesta
streamingAnalyzeContentprepara lo stream e imposta la configurazione audio. - Nelle richieste successive, invii byte audio allo stream.
- Finché continui a inviare audio, continuerai a ricevere suggerimenti. Non devi chiudere manualmente lo stream. Si chiuderà automaticamente quando Agent Assist rileva che le espressioni sono state interrotte.
- Riavvia lo stream (incluso il reinvio della configurazione audio iniziale) nei seguenti casi:
- Lo stream è interrotto (lo stream si è interrotto quando non avrebbe dovuto farlo).
- I dati audio si stanno avvicinando al timeout automatico di 3 minuti.
- Hai ricevuto un errore non irreversibile. Puoi riprovare fino a tre volte.