我使用Dialogflow(api.ai)创建了一个机器人,并将其与Facebook messenger集成。我希望通过使用messenger的快速回复功能从用户获取parameter
值:如city,date(今天,明天),其中向用户显示类似选项的选项,并且可以点击其中一个选项。所需的parameter
会收到用户点击的值,从而使用户无需手动输入。
我无法在文档中找到任何方式来使用快速回复来填充parameter
值(插槽)。可以选择在response
部分提供快速回复,但response
部分会在履行时调用,如果我在response
中接受用户输入,那么我必须创建另一个跟进意图进一步处理用户响应,因为当前意图在响应后得到满足。
如果我在响应部分添加快速回复,那么我必须创建多个级别的后续意图。例如:我在一个意图中获取城市输入,并为用户提供两个选项(如纽约,德里)。然后我必须创建两个后续意图,每个意图用于处理一个回复(纽约和德里),然后对于每个后续意图,我将不得不创建更多后续意图以获得更多参数输入。以下是此案例的流程图。 --->
添加更多关卡时,这会非常复杂!亚马逊Lex具有使用快速回复填充插槽的功能。我不能直接使用像Lex这样的快速回复来填充参数值吗?
答案 0 :(得分:0)
你不必走这么远。有一种使用实体的简单方法。在dialogflow.com中提示。工作流程可以是:Weather(intent)->quick reply(New york/Delhi)->City(intent) use entities here->quick reply(Today/Tomorrow)->Use different intents here for today & tomorrow as you will have different responses
。除非您有不同的回答,否则您不需要创建不同的意图。 User says
可以有不同的参数,您也可以为其定义不同的提示。这将再次降低您创建后续意图的复杂性。如果您需要更多解释,请告诉我。