Streaming ampliado

Puedes usar la función de streaming ampliado para enviar contenido de audio a Dialogflow y recibir sugerencias de agentes humanos en streaming.

Normalmente, se cierra parcialmente o se indica a la API de Dialogflow cuándo debe finalizar el flujo para generar la transcripción final y las sugerencias de Asistencia del agente. Esto ocurre en los turnos de conversación, en los que la API recibe el parámetro is_final=true del resultado del reconocimiento, StreamingAnalyzeContentResponse.recognition_result.

El streaming ampliado reduce la necesidad de cerrar la conversación a medias cuando se cambia de interlocutor. Amplía el tiempo de espera de la conexión a tres minutos, durante los cuales puedes enviar flujos de audio sin cerrar la conexión a medias. La API de Dialogflow envía automáticamente las transcripciones finales y las sugerencias de Asistente del agente a la secuencia. Solo reinicias la emisión si se agota el tiempo.

Conceptos básicos sobre el streaming

La función de emisión ampliada de Agent Assist es similar a la emisión de audio para la transcripción de voz. Tu sistema envía datos de audio a la API y Dialogflow devuelve datos StreamingAnalyzeContentResponse. Los datos devueltos incluyen sugerencias para tus agentes humanos.

Para usar la emisión ampliada, llama al método streamingAnalyzeContent.

La transmisión ampliada solo admite la fase de Asistente. Consulta la fase de la conversación. Para usar esta función:

  1. Llama al método streamingAnalyzeContent y define los siguientes campos:
    • StreamingAnalyzeContentRequest.audio_config.audio_encoding: AUDIO_ENCODING_LINEAR_16 o AUDIO_ENCODING_MULAW
    • enable_extended_streaming: true.
  2. La primera solicitud streamingAnalyzeContent prepara la emisión y define tu configuración de audio.
  3. En las solicitudes posteriores, se envían bytes de audio a la secuencia.
  4. Mientras sigas enviando audio, seguirás recibiendo sugerencias. No es necesario que cierres la emisión manualmente. Se cerrará automáticamente cuando Agent Assist detecte que las peticiones han dejado de enviarse.
  5. Reinicia la emisión (lo que incluye volver a enviar la configuración de audio inicial) en los siguientes casos:
    • El flujo está roto (el flujo se ha detenido cuando no debería).
    • Tus datos de audio están a punto de alcanzar el tiempo de espera automático de 3 minutos.
    • Has recibido un error que se puede volver a intentar. Puedes volver a intentarlo hasta tres veces.