将参数值从一种意图发送到另一个,并将其分配给参数

时间:2018-08-08 07:20:24

标签: chatbot dialogflow

我有两个意图- serviceQuote gotCar

按照 serviceQuote 的意图,用户将输入3个参数- carModel carPrice buyDate 。并且他将根据参数值收到报价。

gotCar 中,用户可以说i just bought lamborghini
Dialogflow将获得 carModel 并启动 serviceQuote 事件。我想随同发送此 carModel 值并将其分配给 serviceQuote 参数 carModel ,而不会提示用户。

请注意,在 serviceQuote 意向设计中首先要问 carModel 的问题,并且所有3个参数均标记为必需

我试图调用该事件并与之一起发送参数值。触发了意图,但未分配参数值,并再次向用户询问汽车型号。

'followupEventInput' : {
    "parameters": {
        "carModel": "aston martin",
    },
    'name' : 'e_serviceQuote',
}

我想念什么?如何实现。
我正在使用 DialogFlow v2

编辑:我试图输入#e_serviceQuote.carModel作为参数值,但是Dialogflow控制台不允许我输入它。

car

3 个答案:

答案 0 :(得分:3)

您需要在#e_serviceQuote.carModel中为该参数配置Default Value。这样,它将使用该输入上下文中的值预先填充,如果上下文不存在(或者如果上下文存在但不包含该参数),则为空。

Mouse hover on the parameter row

然后,将#e_serviceQuote.carModel设置为默认值(在我的示例中为#appointment.date

enter image description here

答案 1 :(得分:2)

您只需要将followupEvent carModel 参数的值分配给意图的 carModel 参数。这意味着,在您的 serviceQuote 意向的 Action and parameters 表中, carModel 参数的值必须为 #e_serviceQuote。 carModel Dialogflow intent

答案 2 :(得分:0)

如果有实现,则可以将参数保存在上下文中。选中my answer here for details.