Puoi utilizzare la funzionalità di streaming esteso per trasmettere contenuti audio a Dialogflow e trasmettere in streaming i suggerimenti degli agenti umani.
Normalmente, chiudi a metà o indichi all'API Dialogflow quando terminare lo stream per generare la trascrizione finale e i suggerimenti di Agent Assist. Ciò avviene a ogni turno 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 a metà frase durante i turni di conversazione. Estende il timeout della connessione a tre minuti, durante i quali puoi inviare flussi audio senza chiudere la connessione a metà. L'API Dialogflow invia automaticamente le trascrizioni finali e i suggerimenti di Assistente agente al flusso. Il riavvio dello stream avviene solo in caso di timeout.
Nozioni di base sullo streaming
La funzionalità di streaming esteso di Agent Assist è simile allo streaming
audio per la trascrizione CCAI. Il sistema
trasmette i dati audio all'API e Dialogflow ritrasmette
i dati StreamingAnalyzeContentResponse
. I dati restituiti includono suggerimenti
per i tuoi agenti.
Per utilizzare lo streaming esteso, chiama il
metodo streamingAnalyzeContent
.
Extended Streaming supporta solo la fase di Assistente agente. Vedi fase conversazione. Per utilizzare questa funzionalità:
- Chiama il metodo
streamingAnalyzeContent
e imposta i seguenti campi:StreamingAnalyzeContentRequest.audio_config.audio_encoding
:AUDIO_ENCODING_LINEAR_16
oAUDIO_ENCODING_MULAW
enable_extended_streaming
:true
.
- La prima richiesta
streamingAnalyzeContent
prepara lo stream e imposta la configurazione audio. - Nelle richieste successive, invii i byte audio al flusso.
- Finché continuerai a inviare audio, riceverai suggerimenti. Non è necessario chiudere manualmente lo stream. Verrà chiuso automaticamente quando Agent Assist rileva che le espressioni sono terminate.
- Riavvia lo stream (che include il reinvio della configurazione audio iniziale) nei seguenti casi:
- Lo stream è interrotto (lo stream si è interrotto quando non avrebbe dovuto).
- I tuoi dati audio si stanno avvicinando al timeout automatico di 3 minuti.
- Hai ricevuto un errore non irreversibile. Puoi riprovare fino a tre volte.