Flussi di dati estesi

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à:

  1. Chiama il metodo streamingAnalyzeContent e imposta i seguenti campi:
    • StreamingAnalyzeContentRequest.audio_config.audio_encoding: AUDIO_ENCODING_LINEAR_16 o AUDIO_ENCODING_MULAW
    • enable_extended_streaming: true.
  2. La prima richiesta streamingAnalyzeContent prepara lo stream e imposta la configurazione audio.
  3. Nelle richieste successive, invii i byte audio al flusso.
  4. 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.
  5. 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.