如何设置自动恢复 Bluemix Conversation 服务的时间限制

How can I set a time limit for automatically resuming on the Bluemix Conversation service

我用 Bluemix Watson Conversation 创建了一个对话机器人,并将它与聊天应用程序连接起来。但是我有一个问题。

我的机器人问了一些问题,正在等待用户的回复 - 用户结束了对话,但没有退出应用程序。几个小时后用户回来并尝试与我的机器人开始新的对话。 (例如,问候你好机器人!)但对话从之前对话停止的地方继续。

我想通过设置时间限制来防止出现该问题。如果用户没有在时限内做出回应,则原始对话将结束。我该怎么做?

在这种情况下, 几周前我也有同样的问题。我搜索了一下。 在 dwAnswers 中,我做了我需要做的。

您需要将其写入您的应用程序代码。 Conversation Service 只是 returns 一个 json 并且您的应用程序知道如何处理它。

或者,您可以创建一个 context variable 来延迟超时,这会提示您的应用延迟。但它也需要自定义代码!

参考:dwAnswers - IBM Developer Official.

这里的正常行为是在您的客户端代码中放置一个计时循环。循环等待一段时间,然后再次提示用户他们是否仍想提问。如果不是,他们会关闭对话。这意味着对话上下文被重置为空。因此,当用户在稍后阶段下一个 returns 时,他们不会传入先前的上下文有效负载,而是传入空白上下文元素(或没有上下文元素)。这将导致 Watson 对话服务发布一个新的对话 ID,并从头开始。