Puoi utilizzare lo streaming esteso per trasmettere contenuti audio a Dialogflow e ricevere suggerimenti per gli agenti umani in streaming. Devi configurare un modello Speech-to-Text che supporti una singola espressione.
Normalmente, 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 lo stream durante i turni di conversazione. Estende il timeout della connessione a tre minuti, durante i quali puoi inviare stream audio senza chiudere parzialmente lo stream. 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
Lo streaming esteso di Agent Assist è simile allo streaming audio per la trascrizione vocale. Il sistema trasmette i dati audio all'API e Dialogflow trasmette i dati StreamingAnalyzeContentResponse. I dati restituiti includono suggerimenti per gli 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 lo streaming esteso, segui questi passaggi:
- 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, invia i 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 doveva).
- I dati audio si stanno avvicinando al timeout automatico di 3 minuti.
- Hai ricevuto un errore non irreversibile. Puoi riprovare fino a tre volte.