如何在Watson助手中长时间停顿?

问题描述 投票:0回答:2

我正在使用IBM Watson Assistant创建聊天机器人。我正在使用带有意图,实体和对话框流的Web界面(我不知道它是如何被调用的,我只是称它为web界面)。

我想在对话框中有一个节点等待说100秒,然后向用户发送另一个消息,但前提是用户没有发送另一个消息。我可以在节点中添加暂停,但只能暂停最多10秒。当然,我可以在节点中按顺序添加多个这样的暂停,但这不是那么好的风格。如果用户在这100秒内没有发送消息,我怎样才能解决这个问题而不是等待100秒并且之后只发送消息?

此外,我的聊天机器人(对话框树中的一个大分支)有一个非常线性的流程。如果与聊天机器人的对话超过10分钟,我想停止它并跳出分支机构。我可以通过存储会话开始时的当前时间来解决它,然后检查每个节点是否时间差大于10分钟,如果是,则跳出。但这又是不好的风格。我怎样才能更优雅地解决这个问题?

ibm-watson watson-conversation
2个回答
1
投票

不幸的是,Watson Assistant不提供此功能。但是我们有很多方法可以做到这一点,因为Watson是一个API,我们拥有所有后端来创建自定义代码。

您可以使用最后一个请求/message并创建一个setInterval,添加一些条件,如果传递的次数超过自上次请求/message以来您想要并发送一些您想要的消息。

if(inputTiming > 100000) { 
  response.output.text = 'Hey, are you there?';
  return response
}

0
投票

使用最新的Watson助手,您可以执行以下操作 - {“time”:5000,“typing”:true,“response_type”:“pause”},

© www.soinside.com 2019 - 2024. All rights reserved.