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

Rea*_*per 1 dialogflow-es

我是对话流的新手。我想知道在对话流上有什么方法可以重复机器人的最后一个响应,如果我告诉“重复”。我有很多后续意图,因此对于每个意图不可能进行后续意图重复。

Pri*_*ner 5

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

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

在此处输入图片说明

如果您查看作为每个回复的一部分生成的 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?"
                    }
                }
            ]
        },
Run Code Online (Sandbox Code Playgroud)

(请注意,我是 multivocal 的主要维护者,如下面的评论中所述。)