Cette page explique comment insérer les données d'un flux audio dans une requête de détection d'intent à l'aide de l'API. Dialogflow traite le contenu audio et le convertit en texte avant d'essayer d'établir une correspondance d'intent. Ce processus est appelé entrée audio, reconnaissance vocale, speech-to-text ou STT.
Avant de commencer
Cette fonctionnalité n'est disponible que lorsque l'API est utilisée pour les interactions de l'utilisateur final. Si vous utilisez une intégration, vous pouvez ignorer ce guide.
Avant de lire ce guide, effectuez les tâches suivantes :
- Consultez la section Principes de base de Dialogflow.
- Effectuez la procédure de configuration.
Créer un agent
- Accédez à la console Dialogflow ES.
- Connectez-vous à la console si vous y êtes invité. Pour en savoir plus, consultez la présentation de la console Dialogflow.
- Dans le menu de la barre latérale, développez Chargement des agents.
- Cliquez sur Create new agent (Créer un agent).
- Saisissez le nom de l'agent, la langue par défaut et le fuseau horaire par défaut.
- Saisissez un projet existant. Pour autoriser la console Dialogflow à créer un projet, sélectionnez Créer un projet Google.
- Cliquez sur Créer.
Principes de base du streaming
La méthode
SessionstreamingDetectIntent du type renvoie un objet de streaming gRPC bidirectionnel.
Les méthodes disponibles pour cet objet varient en fonction de la langue. Pour plus d'informations, consultez la documentation de référence de votre bibliothèque cliente.
L'objet de streaming permet d'envoyer et de recevoir des données simultanément. Grâce à cet objet, votre client peut diffuser du contenu audio dans Dialogflow tout en restant à l'écoute d'une réponse StreamingDetectIntentResponse.
La méthode streamingDetectIntent comporte un paramètre query_input.audio_config.single_utterance qui affecte la reconnaissance vocale :
- S'il est défini sur
false(valeur par défaut), la reconnaissance vocale ne s'arrête que lorsque le client ferme le flux. - S'il est défini sur
true, Dialogflow ne détecte qu'un seul énoncé dans l'entrée audio. Lorsque Dialogflow détecte une pause ou un arrêt de la voix dans l'entrée audio, il arrête la reconnaissance vocale et envoie à votre client une réponseStreamingDetectIntentResponseassociée au résultat de reconnaissanceEND_OF_SINGLE_UTTERANCE. Tout contenu audio envoyé dans le même flux après la réception deEND_OF_SINGLE_UTTERANCEest ignoré par Dialogflow.
Dans le cadre du streaming bidirectionnel, un client peut fermer partiellement un objet de flux pour signaler au serveur qu'il n'enverra plus de données. Par exemple, dans Java et Go, cette méthode est appelée closeSend.
Il est important de fermer partiellement un flux (sans l'annuler complètement) dans les situations suivantes :
- Votre client a fini d'envoyer des données.
- Votre client est configuré avec le paramètre
single_utterancedéfini surtrue, et il reçoit une réponseStreamingDetectIntentResponseassociée au résultat de reconnaissanceEND_OF_SINGLE_UTTERANCE.
Après avoir fermé un flux, votre client doit au besoin lancer une nouvelle requête intégrant un nouveau flux.
Détecter un intent en streaming
Les exemples qui suivent font appel à la méthode streamingDetectIntent du type
Session
pour diffuser du contenu audio.
Go
Pour vous authentifier auprès de Dialogflow CX, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour vous authentifier auprès de Dialogflow CX, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès de Dialogflow CX, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Dialogflow CX, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langages supplémentaires
C# : Veuillez suivre les Instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Dialogflow CX pour .NET.
PHP: Veuillez suivre les Instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Dialogflow CX pour PHP.
Ruby : Veuillez suivre les Instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Dialogflow CX pour Ruby.
Exemples
Pour en savoir plus sur les bonnes pratiques en matière de diffusion depuis un micro de navigateur vers Dialogflow, consultez la page Exemples.