我面临的一个问题是,即使为特定意图请求启用了对话结束后,输出响应也会在循环中重复。这种情况在用户要求特定请求时出现,输出响应为发送回对话结束的用户。但是,如果用户仍未打开麦克风又未要求其他任何请求,则先前的输出响应将开始重复。 为什么会发生这种情况?
答案 0 :(得分:0)
问题是您在Dialogflow配置中为Intent设置了“对话结束”开关,但同时也使用了实现。在这种情况下,您的Webhook代码会覆盖“对话结束”设置。
您可以使用Webhook设置对话结束。如果您使用的是Google行动库,则可以使用conv.close()
而不是conv.ask()
来表示这一点。
虽然这不是问题,但在结束对话时设置输出上下文也没有任何意义。输出上下文将被忽略。 (如果您从Webhook设置上下文,则不会设置“输出上下文”。)