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 a medias o se le 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 streaming ampliado de Agent Assist es similar al streaming de audio de la transcripción de CCAI. 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 transmisió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 se han dejado de enviar peticiones.
- 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.