我是dialogflow的新手。我想知道如果我告诉“ repeat”,dialogflow上有任何方法可以重复机器人的最后响应。 我有很多跟进意图,因此对于每个意图都不可能使跟进意图重复。
答案 0 :(得分:3)
像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?"
}
}
]
},
(请注意,我是多声乐的首席维护者,如下面的评论所述。)
答案 1 :(得分:1)
没有开箱即用的解决方案。我们尚未实现它,但是我们决定只将最新的输出存储在上下文中,并在用户要求重复输出时再次将其提供。为此,您将需要使用一个Webhook来根据需要设置上下文。