J'utilise Google Assistant intégré Webhook avec application de démarrage de printemps. P>
J'ai créé 3 emplacements dans la boîte de dialogue de l'agent, tous sont nécessaires. A1, A2, A3. P>
Supposons que la valeur d'A2 dépend de la valeur d'A1. P>
Si A1> 100, je veux sauter A2 et demander A3. Ainsi, lorsque l'utilisateur parle quelque chose qui devrait être peuplé dans A3, au lieu de A2. P>
Si A1 <= 100, demandez A2, puis A3. P>
Comment dire à l'agent de Google Quelle emplacement doit être rempli? P>
3 Réponses :
Dans des cas comme celui-ci (où les paramètres sont éventuellement requis), vous ne pouvez pas utiliser le remplissage de machines à sous ou les marquer au besoin. P>
La solution consiste à gérer cela vous-même en utilisant des contextes et des intentions supplémentaires. Ainsi, alors que vous pourriez concevoir votre intention d'accepter des réponses qui incluent tous les paramètres, mais ne marquez aucun d'entre eux selon les besoins. Vous construisez ensuite votre webhook pour déterminer si un paramètre est nécessaire et manquant et, si oui, demandez-le. Stockez les paramètres que vous collectez dans un contexte pour que vous les ayez tous disponibles une fois que vous avez tout ce dont vous avez besoin - vous devrez peut-être utiliser un nom de paramètre différent afin qu'ils ne soient pas écrasés. Vous pouvez également vouloir définir un contexte lorsque vous invitez une valeur pour que vous puissiez réduire les intensions de sens lorsque vous répondez à la question. P>
Si le paramètre n'est pas requis, l'assistant n'attend pas. Donc, je les fais tout comme requis et passez la valeur par défaut si j'ai déjà une valeur dans la base de données pour cet utilisateur définit autrement vide dans le paramètre contextuel. Une autre question ici, je suis beaucoup de contextes d'obtenir de la demande afin que je mettant à jour tous les paramètres de la même valeur. C'est comme prouver tout le paramètre de contexte. Est-ce une façon correcte de faire ça?
Vous devez utiliser des webhooks pour la machine à sous Fullfilment et faire de toutes les machines à sous, non requises dans la console de flux de dialogue. Après avoir reçu la demande dans Webhook après l'utilisateur interagi avec Google Assistant, vous pouvez définir le contexte de sortie en réponse à charger spécifiquement d'autres emplacements.
Réponse clarifiée.
Vous pouvez définir des paramètres par programme dans votre webhook Fulfillment en définissant le contexte nécessaire et leurs paramètres. Notez que ce n'est pas l'utilisation prévue du remplissage de machines à sous.
Dialogflow par défaut crée 3 contextes de sortie lors de la remplissage des paramètres p>
_id_dialog_context code> li>
-
_dialog_context code> li>
-
_dialog_params_ code> li>
ul> Vous pouvez trouver ces contextes à l'aide de webhookclient. Contexts P>
Notez que le contexte contenant le nom de paramètre changera selon lequel le paramètre est demandé par Dialogflow.
Par exemple, si vous remplissez le paramètre A1, la boîte de dialogue demandera A2. Le contexte sera _dialog_params_a2 code> p> Tous ces contextes contiennent les paramètres nécessaires à l'intention.
Vous pouvez définir par programme ces paramètres à l'aide de cette approche: p>
- Les utilisateurs remplissent A1 LI>
- Dans votre webhook, déterminez si A2 devrait être demandé ou ignoré li>
- S'il doit être demandé, ne faites rien ou envoyez une invite différente à l'aide de
webhookclient.add (réponses) code> li>
ul> s'il doit être ignoré: p>
- définissez les deux
_dialog_context code> contextes en utilisant
webhookclient.setContext (contexte) code> li>
- Lors de la définition, envoyez le paramètre A2 comme quelque chose qui n'est pas
null code> li>
- Supprimer le contexte _Params_a2 LI>
- Définir le contexte _Params_a3, avec les mêmes paramètres li>
ul>
Vos paramètres probablement ressemblent à quelque chose comme: p> xxx pré> en effectuant ce dialogue a déjà une valeur pour A2 et ne le demandera plus < / p> p>
Vous devez utiliser des webhooks pour la fente FullInment et marquer toutes les fentes comme non requises dans la console de flux de dialogue. Après avoir demandé à Webhook après l'utilisateur interagi avec Google Assistant, vous pouvez définir le contexte de sortie en réponse à charger spécifiquement les autres emplacements em>. P>
Par exemple, l'utilisateur dit