如何在对话框中重复机器人的最后响应

时间:2019-03-14 10:49:23

标签: dialogflow

我是dialogflow的新手。我想知道如果我告诉“ repeat”,dialogflow上有任何方法可以重复机器人的最后响应。 我有很多跟进意图,因此对于每个意图都不可能使跟进意图重复。

2 个答案:

答案 0 :(得分:3)

multivocal这样的库存储最后的响应,并为“重复”意图提供处理程序,该意图将再次播放响应。

因此,您所需要做的就是使用该库并创建一个这样的Intent,其中将“ multivocal.repeat”设置为操作并启用webhook实现,它将为您处理重复操作:

enter image description here

如果您查看作为每个回复的一部分生成的JSON,您会发现它使用刚刚发送的内容创建了一个短暂的上下文。 (这里只是JSON的一小部分,说明了这一点。)

    {
        "name": "projects/vodo/agent/sessions/A...w/contexts/multivocal_repeat",
        "lifespanCount": 1,
        "parameters": {
            "Ssml": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?",
            "Text": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?"
        }
    }
],
"payload": {
    "google": {
        "richResponse": {
            "items": [
                {
                    "simpleResponse": {
                        "ssml": "<speak>I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?</speak>",
                        "displayText": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?"
                    }
                }
            ]
        },

(请注意,我是多声乐的首席维护者,如下面的评论所述。)

答案 1 :(得分:1)

没有开箱即用的解决方案。我们尚未实现它,但是我们决定只将最新的输出存储在上下文中,并在用户要求重复输出时再次将其提供。为此,您将需要使用一个Webhook来根据需要设置上下文。