触发相同级别的父项或意图

问题描述 投票:0回答:1

我尝试搜索分辨率,并在此问题上停留了几天。我正在使用Google Actions-on-google(nodeJS)和dialogflow来创建聊天机器人

这里是一个序列:

1. Choose between food and drinks
2. If food:
----------- does it have to be gluten free?
----------- does it have to vegeterian
----------- Confirm order
----------- Would you like a drink with it?
----------- If yes, go to drink intent and pass food params too. (This is the step I am basically stuck at)
3. If drink,
----------- If coming from food, add it to order
----------- which drink?
----------- confirm order
4. Order placed successfully.

我无法从后续行动转移到主要意图。有办法吗? conv.followup仅适用于儿童随访。

dialogflow actions-on-google chatbot
1个回答
0
投票

意图表示用户说或做的事情,而不是您如何回应他们的讲话。因此,在这种情况下,说您想“触发”饮料意图并没有什么意义。

相反,您会问他们是否要喝酒,如果他们说“是”,则会提示他们选择他们想要的饮料。同样,如果他们只是说要喝一杯,您会提示他们选择饮料。这是两个不同的Intent,但是它们得到相同的响应,然后沿着相同的路径继续前进。

您无法以您想的方式“传递参数”,但是您可以将值存储在Context的参数中(如果正在开发Action,则存储在会话存储中)。一种好的技术是在构建订单时将其存储在Context中,然后在完成后从Context中获取值以确认并下订单。

上下文还通常用于选择处理答案的范围-具有输入上下文的意图需要设置上下文才能被触发。后续意图使用它来限制该意图生效的时间,因此您可以在实现过程中自行设置上下文。

((您也不需要使用跟进意图上下文-您可以使用自己管理的上下文来处理。)

© www.soinside.com 2019 - 2024. All rights reserved.