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:
- Llama al método
streamingAnalyzeContent
y define los siguientes campos:StreamingAnalyzeContentRequest.audio_config.audio_encoding
:AUDIO_ENCODING_LINEAR_16
oAUDIO_ENCODING_MULAW
enable_extended_streaming
:true
.
- La primera solicitud
streamingAnalyzeContent
prepara la emisión y define tu configuración de audio. - En las solicitudes posteriores, se envían bytes de audio a la secuencia.
- 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.
- 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.