Réponse courte: Oui. Comprendre pourquoi c'est oui est important pour la réponse plus longue.
Les intentions ne sont pas liées à un chemin spécifique - elles sont déclenchées lorsque les conditions sont remplies. Dans la forme la plus simple, ces conditions sont des phrases qui sont prononcées par l'utilisateur. Des conditions plus complexes incluent des actions spécifiques déclenchées par le périphérique (telles que l'action de bienvenue) ou des contextes spécifiques actifs. Vous pouvez les combiner - si une phrase est prononcée alors que contextA est actif, une intention peut être déclenchée, alors que si elle est dite si contextB est active, une intention différente peut être déclenchée. Liste d'intentions dans quels contextes doit être actif pour être déclenché.
Cela conduit à la réponse plus longue: Oui. Ce que vous devez faire est de faire que chaque "branche" soit gérée par un ensemble particulier de contextes, mais le "point de jointure" n'exigerait aucun de ces contextes. Alors imaginons que vous écrivez une action qui vous permet de commander un seul article d'un salon de crème glacée. (Un seul article parce que je ne veux pas entrer dans la complexité du suivi de la commande, etc.) Vous pourriez avoir les intentions suivantes:
Bienvenue
Déclenchée par: action Bienvenue
eNVOIE: « .? Bienvenue voulez-vous un cornet de crème glacée ou un soda
icecream.start
Déclenchée par: l'utilisateur dit « crème glacée »
Envoie: Ça sonne bien. Quelle saveur?
contexte Sets: ice_cream
icecream.flavor
Déclenchée par: contexte = ice_cream et l'utilisateur donne une saveur valide (vanille ou chocolat)
Transmet: Mon préféré. Quelle taille?
contexte Sets: ice_cream
icecream.size
déclenchée par: contexte = ice_cream et l'utilisateur donne une taille valide (enfants, petite, moyenne ou grande)
Transmet « Alors vous voulez un cornet de crème glacée, n'est-ce pas?"
contexte: commander Sets
soda.start
déclenchée par: l'utilisateur dit "soda"
Transmet: J'ai soif trop quel genre
contexte jeux.? : soda
soda.flavor
Déclenchée par: context = soda et l'utilisateur donnant une boisson gazeuse valide
Envois: Bon choix. Quelle taille?
contexte Sets: soude
soda.size
Déclenchée par: contexte = soude et l'utilisateur donne une taille valide (petite, moyenne, grande)
Transmet « Vous voulez un . Est-ce correct?"
contexte Sets: commandé
order.placed
Déclenchée par: l'utilisateur en disant "oui" (ce qui confirme l'ordre) et le contexte est "ordonné"
Transmet: « Voulez-vous des serviettes ? "
etc etc etc
Dans ce cas, on peut diviser en deux voies (chacune avec des réponses similaires, mais pas identiques, possibles), puis revenir en même temps que le contexte « ordonné ».
(Je dois ajouter que cela ne couvre que les bases sur les contextes, notamment la durée de vie d'un contexte, comment travailler avec plusieurs contextes actifs et les attributs que vous pouvez définir dans un contexte.)
Merci beaucoup pour la réponse, c'est plus clair maintenant. Je vais essayer avec juste le contexte et ce que l'utilisateur dit sans "suivi". Je vois dans JSON qu'une intention a l'attribut "parent-id" et je pense qu'un seul est possible et j'en ai besoin de deux. Lorsque j'ai testé, le contenu était actif et l'utilisateur a dit le mot correct mais l'intention ne s'est pas déclenchée. – WhiteShadow
Si vous rencontrez toujours des problèmes, veuillez mettre à jour votre question pour inclure des détails, avec des captures d'écran des Intents dans api.ai si possible. Si cela a résolu votre question, veuillez accepter et/ou augmenter. – Prisoner
J'ai résolu le problème, j'ai mis un contexte personnalisé sur les deux sorties "chemins" (je ne savais pas que je peux en créer un personnalisé) et j'ai mis le même contexte sur l'entrée d'intention de rejoindre. Et j'ai également découvert que si vous avez deux contextes, les deux doivent être mis en correspondance (cela fonctionne comme une opération AND). – WhiteShadow