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. Cette conversion est appelée entrée audio, reconnaissance vocale ou speech-to-text (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, procédez comme suit :
- Consultez la section Principes de base de Dialogflow.
- Effectuez la procédure de configuration.
Créer un agent
Si vous n'avez pas encore créé d'agent, créez-en un maintenant :
- Accédez à la console Dialogflow ES.
- Si nécessaire, connectez-vous à la console Dialogflow. Consultez la section Présentation de la console Dialogflow pour plus d'informations.
- Cliquez sur Créer un agent dans le menu de la barre latérale de gauche. (Si vous avez déjà d'autres agents, cliquez sur le nom de l'un d'eux, faites défiler vers le bas, puis cliquez sur Créer un agent.)
- Saisissez le nom de l'agent, la langue par défaut et le fuseau horaire par défaut.
- Si vous avez déjà créé un projet, saisissez son nom. Si vous souhaitez autoriser la console Dialogflow à créer le projet, sélectionnez Créer un projet Google.
- Cliquez sur le bouton Créer.
Importer le fichier d'exemple dans l'agent
Dans la mesure où les étapes de ce guide sont fondées sur certaines hypothèses concernant votre agent, vous devez importer un agent préparé pour ce guide. Lors de l'importation, ces étapes utilisent l'option de restauration qui écrase l'ensemble des paramètres, des intents et des entités de l'agent.
Pour importer le fichier, procédez comme suit :
- Téléchargez le fichier
room-booking-agent.zip
. - Accédez à la console Dialogflow ES.
- Sélectionnez votre agent.
- Cliquez sur le bouton des paramètres settings à côté du nom de l'agent.
- Sélectionnez l'onglet Exporter et importer.
- Sélectionnez Restaurer depuis un fichier ZIP et suivez les instructions pour restaurer le fichier ZIP que vous avez téléchargé.
Principes de base du streaming
La méthode streamingDetectIntent
du type Session
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éponseStreamingDetectIntentResponse
associée au résultat de reconnaissanceEND_OF_SINGLE_UTTERANCE
. Tout contenu audio envoyé dans le même flux après la réception de cet élémentEND_OF_SINGLE_UTTERANCE
est 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_utterance
défini sur "true", et il reçoit une réponseStreamingDetectIntentResponse
associé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, configurez les 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, configurez les 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, configurez les 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, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues 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 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 pour PHP.
Ruby : Veuillez suivre les instructions de configuration de Ruby sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Dialogflow pour Ruby.
Exemples
Consultez la page d'exemples pour connaître les bonnes pratiques en matière de diffusion depuis un micro de navigateur vers Dialogflow.