Vous pouvez utiliser la fonctionnalité de streaming étendu pour diffuser du contenu audio vers Dialogflow et recevoir des suggestions d'agents humains en streaming en retour.
Normalement, vous fermez à moitié ou indiquez à l'API Dialogflow quand arrêter le flux pour générer la transcription finale et les suggestions Agent Assist. Cela se produit lors des changements de tour de parole, où l'API reçoit le paramètre is_final=true
à partir du résultat de reconnaissance, StreamingAnalyzeContentResponse.recognition_result
.
Le streaming étendu réduit le besoin de demi-fermeture lors des changements de tour de parole. Il prolonge le délai avant expiration de la connexion à trois minutes, pendant lesquelles vous pouvez envoyer des flux audio sans demi-fermeture. L'API Dialogflow renvoie automatiquement les transcriptions finales et les suggestions Agent Assist au flux. Vous ne redémarrez le flux que s'il expire.
Principes de base du streaming
La fonctionnalité de streaming étendue d'Agent Assist est semblable au streaming audio pour la transcription CCAI. Votre système transmet des données audio à l'API, et Dialogflow renvoie des données StreamingAnalyzeContentResponse
. Les données renvoyées incluent des suggestions pour vos agents humains.
Pour utiliser le streaming étendu, appelez la méthode streamingAnalyzeContent
.
Le streaming étendu n'est compatible qu'avec l'étape Agent Assist. Voir Étape de la conversation. Pour utiliser cette fonction :
- Appelez la méthode
streamingAnalyzeContent
et définissez les champs suivants :StreamingAnalyzeContentRequest.audio_config.audio_encoding
:AUDIO_ENCODING_LINEAR_16
ouAUDIO_ENCODING_MULAW
enable_extended_streaming
:true
.
- La première requête
streamingAnalyzeContent
prépare le flux et définit votre configuration audio. - Dans les requêtes suivantes, vous envoyez des octets audio au flux.
- Tant que vous continuerez à envoyer des contenus audio, vous recevrez des suggestions. Vous n'avez pas besoin de fermer manuellement le flux. Il se fermera automatiquement une fois qu'Agent Assist aura détecté que les énoncés ont cessé.
- Redémarrez le flux (ce qui inclut le renvoi de la configuration audio initiale) dans les cas suivants :
- Le flux est interrompu (il s'est arrêté alors qu'il ne devait pas).
- Vos données audio approchent du délai avant expiration automatique de trois minutes.
- Vous avez reçu une erreur récupérable. Vous pouvez réessayer jusqu'à trois fois.