É possível usar o streaming estendido para transmitir conteúdo de áudio ao Dialogflow e sugestões de agentes humanos. Você precisa configurar um modelo de Speech-to-Text que ofereça suporte a declarações únicas.
Normalmente, você fecha parcialmente ou informa à API Dialogflow quando encerrar o stream para gerar a transcrição final e as sugestões do Agent Assist. Isso acontece em rodadas de conversa, em que a API recebe o parâmetro is_final=true do resultado do reconhecimento, StreamingAnalyzeContentResponse.recognition_result.
O streaming estendido reduz a necessidade de fechamento parcial nas rodadas de conversa. Ele estende o tempo limite de conexão para três minutos, durante os quais você pode enviar streams de áudio sem fechamento parcial. A API Dialogflow envia automaticamente as transcrições finais e as sugestões do Agent Assist de volta ao stream. Você só reinicia o stream se ele expirar.
Princípios básicos de streaming
O streaming estendido do Agent Assist é semelhante ao streaming de áudio para transcrição de voz. Seu sistema transmite dados de áudio para a API, e o Dialogflow transmite dados StreamingAnalyzeContentResponse de volta. Os dados retornados incluem sugestões para seus agentes humanos.
Para usar o streaming estendido, chame o
streamingAnalyzeContent
método.
O streaming estendido só oferece suporte à fase do Agent Assist. Consulte a fase de conversa. Siga estas etapas para usar o streaming estendido:
- Chame o método
streamingAnalyzeContente defina os seguintes campos:StreamingAnalyzeContentRequest.audio_config.audio_encoding:AUDIO_ENCODING_LINEAR_16ouAUDIO_ENCODING_MULAWenable_extended_streaming:true.
- A primeira solicitação
streamingAnalyzeContentprepara o stream e define a configuração de áudio. - Em solicitações subsequentes, você envia bytes de áudio para o stream.
- Enquanto você continuar enviando áudio, vai receber sugestões. Não é necessário fechar o stream manualmente. Ele será fechado automaticamente quando o Agent Assist detectar que as declarações foram interrompidas.
- Reinicie o stream (que inclui o reenvio da configuração de áudio inicial) nos seguintes casos:
- O stream está corrompido (ele parou quando não deveria).
- Seus dados de áudio estão se aproximando do tempo limite automático de 3 minutos.
- Você recebeu um erro que permite uma nova tentativa. É possível tentar novamente até três vezes.