Créer un agent Dialogflow ES
Utilisez la console Dialogflow ES pour créer et tester un agent.
Avant de commencer
Avant de commencer, procédez comme suit :
- Consultez la section Principes de base de Dialogflow.
- Suivez les étapes de configuration.
Créer un agent
- Accédez à la console Dialogflow ES.
- Connectez-vous à la console Dialogflow 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, cliquez sur Agents.
- Sélectionnez l'onglet Your deployed agents (Vos agents déployés).
- Cliquez sur Create 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 Create a new Google project.
- Cliquez sur Créer.
Intents
Les intents permettent de déterminer l'intention d'un utilisateur final dans le cadre d'un tour de conversation. Pour chaque agent, vous définissez un grand nombre d'intents qui, ensemble, permettent de traiter une conversation complète.
Intents par défaut
Lorsque vous créez un agent, Dialogflow crée deux intents par défaut pour vous :
- Intent de bienvenue par défaut : cet intent est mis en correspondance lorsque l'utilisateur final entame une conversation avec votre agent. Il renvoie une réponse qui indique à l'utilisateur final ce que fait votre agent ou ce qu'il peut dire pour commencer une conversation.
- Intent de remplacement par défaut : cet intent est mis en correspondance lorsque l'agent ne peut pas faire correspondre l'expression de l'utilisateur final à un autre intent.
Pour afficher ces intents, accédez à la liste des intents de votre agent :
- Accédez à la console Dialogflow ES.
- Sélectionnez l'agent que vous avez créé.
- Cliquez sur Intents dans le menu de la barre latérale.
La liste des intents de l'agent s'affiche au milieu de la console Dialogflow.

Tester l'intent de remplacement par défaut

Le simulateur Dialogflow se trouve à droite de la console. Il vous permet de tester votre agent en parlant ou en saisissant des messages.
Testez désormais votre agent :
- Cliquez sur le champ Essayez maintenant.
- Tapez
What is your name?. - Appuyez sur Entrée.
La réponse de l'agent s'affiche dans la section Default Response (Réponse par défaut). Puisque votre entrée ne correspond à aucun intent, l'intent de remplacement par défaut est mis en correspondance avec votre expression, et vous recevez l'une des réponses par défaut.
Créer un intent
Les étapes de cette section permettent de créer un intent qui répond à la question "What is your name?". Pour chaque intent, vous définissez de nombreuses phrases d'entraînement. qui sont des exemples de ce qu'un utilisateur final est susceptible de saisir ou de dire à votre agent (également appelée expression de l'utilisateur final). Définissez des phrases d'entraînement qui aident Dialogflow à faire correspondre des expressions à un intent.
Pour créer un intent, procédez comme suit :
- Cliquez sur le bouton d'ajout d'intent à côté de Intents dans le menu de la barre latérale.
- Saisissez
get-agent-namedans le champ Intent name (Nom de l'intent). - Dans la section Training phrases (Phrases d'entraînement), cliquez sur Add Training Phrases (Ajouter des phrases d'entraînement).
Entrez les phrases d'entraînement suivantes :
What is your name?Do you have a name?Tell me your name

Dans la section Responses (Réponses), saisissez Texte Response (Réponse textuelle) dans la section :
My name is Dialogflow!

Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
Tester l'intent

Dans le simulateur, saisissez What's your name? et appuyez sur Entrée.
L'agent répond correctement à l'expression, même si celle-ci diffère légèrement des phrases d'entraînement fournies.
Dialogflow utilise les phrases d'entraînement comme exemples pour un modèle de machine learning afin de faire correspondre les expressions de l'utilisateur final à des intents. Le modèle vérifie l'expression par rapport à chaque intent de l'agent, attribue un score à chaque intent et associe à l'expression l'intent dont le score est le plus élevé. Si l'intent ayant le score le plus élevé a un score très faible, l'intent de remplacement est utilisé.
Paramètres et entités
Lorsqu'un intent est mis en correspondance au moment de l'exécution, Dialogflow fournit les valeurs extraites de l'expression de l'utilisateur final en tant que paramètres. Chaque paramètre est associé à un type, appelé type d'entité, qui détermine la manière exacte dont les données sont extraites. Contrairement aux entrées utilisateur brutes, les paramètres sont des données structurées pouvant être utilisées pour exécuter une logique ou générer des réponses.Pour contrôler la manière dont les données sont extraites lorsque vous créez un agent, annotez des parties de vos phrases d'entraînement et configurez les paramètres associés.
Créer des paramètres
Pour créer des paramètres d'intent, procédez comme suit :
- Cliquez sur le bouton d'ajout à côté de la section Intents dans le menu de la barre latérale.
- Nommez l'intent
set-languageen haut de la page de l'intent. - Ajoutez les phrases d'entraînement suivantes :
I know EnglishI speak FrenchI know how to write in German
Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Dialogflow détecte automatiquement les paramètres des phrases d'entraînement qui sont reconnues en tant qu'entités système. Ces entités sont fournies par Dialogflow pour de nombreux types de données courants tels que l'emplacement, la couleur et la date.
Une fois que vous avez ajouté des phrases d'entraînement, Dialogflow crée une ligne dans le tableau Action ¶meters (Action et paramètres) :

- Required (Requis) : la case n'est pas cochée, ce paramètre est donc facultatif.
- Parameter Name (Nom du paramètre) : automatiquement nommé
language, car il est reconnu comme une langue. - Entity (Entité) : reconnu en tant qu'entité système
@sys.language. - Value (Valeur) : l'identifiant utilisé pour faire référence à la valeur de ce paramètre.
- Is List (Liste) : la case n'est pas cochée, ce paramètre n'est donc pas une liste.
Utiliser les données de paramètre dans une réponse
Vous pouvez utiliser la valeur d'un paramètre dans vos réponses. Par exemple, vous pouvez utiliser la référence du paramètre $language dans vos réponses lorsque vous créez un agent. Au moment de l'exécution, l'agent la remplace par la langue spécifiée dans l'expression de l'utilisateur final.
Ajoutez une réponse qui utilise un paramètre :
- Accédez à la section Responses (Réponses).
- Dans la section Text Response (Réponse textuelle), ajoutez le texte suivant :
Wow! I didn't know you knew $language. - Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
Tester le paramètre

Dans le simulateur, saisissez I know Russian. Vous pouvez constater que Dialogflow a bien extrait le paramètre language avec la valeur Russian, et que ce mot a correctement été inséré là où la référence du paramètre était utilisée dans la réponse.Russian
Créer vos propres entités
Dans la plupart des cas, vous devez collecter des données spécifiques auprès des utilisateurs, et ces données ne sont pas fournies par les entités système. Pour gérer cette situation, vous pouvez créer des entités personnalisées.
Pour créer une entité personnalisée, procédez comme suit :
- Cliquez sur le bouton d'ajout d'entité add à côté de Entités dans le menu de la barre latérale.
- Saisissez
language-programmingcomme nom d'entité. Ajoutez les entrées d'entité suivantes (lignes) :
Valeur de référence Synonymes JavaScript JavaScript, js, ECMAScript Java Java Python Python, py Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Dialogflow peut gérer des cas simples comme le pluriel et les majuscules. Ajoutez tous les synonymes possibles pour vos entrées. Plus vous ajoutez de synonymes, mieux votre agent pourra identifier vos entités.
Utiliser votre nouvelle entité
Ajoutez des phrases d'entraînement à l'intent set-language qui utilise la nouvelle entité :
- Cliquez sur Intents dans le menu de la barre latérale.
- Cliquez sur l'intent
set-language. - Ajoutez les phrases d'entraînement suivantes :
I know javascriptI know how to code in Java
- Notez que les langages de programmation de ces phrases d'entraînement sont automatiquement annotés et ajoutés aux paramètres de la section Action and Parameters (Action et paramètres).
- Dans la section Responses (Réponses), ajoutez la seconde réponse textuelle suivante :
$language-programming is an excellent programming language. - Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
Tester la nouvelle entité

Dans le simulateur, saisissez I know how to code in py. Dialogflow extrait correctement py pour le paramètre language-programming, l'identifie comme correspondant à l'entité Python et insère la valeur dans la réponse.
Contextes
Pour contrôler le flux de la conversation, vous pouvez utiliser des contextes.
Ajouter un intent de suivi
Les intents de suivi vous permettent de contrôler une conversation sans avoir à créer ni gérer des contextes manuellement.
Lorsque vous créez un intent de suivi, un contexte de sortie est ajouté à l'intent parent et un contexte d'entrée du même nom est ajouté à l'intent enfant. Cela signifie que l'intent de suivi n'est mis en correspondance que lorsque l'intent parent est mis en correspondance lors du tour de conversation précédent.
Pour ajouter un intent de suivi personnalisé à l'intent set-language, procédez comme suit :
- Sélectionnez l'intent
set-language(Langues) créé lors des étapes précédentes. - Dans la section Response (Réponse), mettez à jour le texte de la réponse :
Wow! I didn't know you knew $language. How long have you known $language?
- Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
- Cliquez sur Intents dans le menu de la barre latérale.
- Pointez le curseur sur l'intent
set-language, puis cliquez sur Add follow-up intent (Ajouter un intent de suivi). - Cliquez sur Custom (Personnalisé) dans la liste.
- Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
Dialogflow donne automatiquement le nom set-language - custom (Langues - personnalisé) à l'intent de suivi.

Correspondance des intents avec les intents de suivi
Les intents de suivi ne sont mis en correspondance qu'après la mise en correspondance de l'intent parent. Étant donné que
l'intent set-language - custom n'est mis en correspondance qu'après l'intent set-language
, l'utilisateur vient de recevoir la question "How long have you known
$language?" Ajoutez des phrases d'entraînement pour indiquer les réponses probables des utilisateurs à cette question :
- Cliquez sur Intents dans le menu de la barre latérale.
- Cliquez sur l'intent
set-language - custom. - Ajoutez les phrases d'entraînement suivantes :
3 yearsabout 4 daysfor 5 years
- Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
Tester l'intent de suivi
Saisissez I know French dans le simulateur, puis répondez à la question How long have you known French avec about 2 weeks.
Malgré l'absence de réponse pour la deuxième expression (about 2 weeks),
vous pouvez constater que l'expression est mise en correspondance avec l'intent correct
(set-language - custom) et que le paramètre de durée est correctement analysé
(2 weeks).
Intents et contextes
En examinant l'intent set-language, vous constatez que set-language-followup est répertorié
en tant que contexte de sortie, précédé du chiffre 2. Ce chiffre indique la
durée de vie.

Une fois que l'intent set-language est mis en correspondance, le contexte set-language-followup
est actif et associé à la conversation pendant deux tours (durée de vie égale à 2).
Par conséquent, lorsque vous répondez à une question telle que How long have you known $language?, le contexte set-language-followup est actif.
En examinant l'intent set-language - custom, vous constatez que set-language-followup
est répertorié en tant que contexte d'entrée et qu'il est identique au contexte de sortie de l'intent
set-language.
Tout intent dont le contexte d'entrée correspond à un contexte actif est privilégié lorsque Dialogflow met un intent en correspondance.
Contextes et paramètres
Les contextes stockent les valeurs des paramètres. Vous pouvez accéder aux valeurs des paramètres définis dans l'intent set-language lorsque son contexte de sortie est actif. Dans l'intent set-language - custom, vous n'avez demandé que la durée pendant laquelle l'utilisateur connaît la langue, et non la langue elle-même.
Pour référencer la langue dans la réponse, procédez comme suit :
- Remplacez la réponse textuelle de l'intent
set-language - customparI can't believe you've known #set-language-followup.language for $duration!. - Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
La référence #set-language-followup.language est une
référence de paramètre pour un contexte actif.
Tester le paramètre de contexte
Saisissez I know French dans le simulateur, puis répondez à la question avec 1 week. Notez que la valeur du paramètre language est extraite du contexte.
Production
Avant d'exécuter votre agent en production, mettez en œuvre les bonnes pratiques pour la production.
Étape suivante
Lisez le guide de démarrage rapide sur le traitement.