Watson 对话中的多个输出文本值设置



我在对话中有以下节点。我想提出操作并基于此调用 API。在成功场景中,将显示输出.文本[0]和错误场景从输出.文本[1]

{
"output": {
"text": {
"values": [
"I want to get this with success scenario",
"I want to get this with error scenario"
],
"selection_policy": "sequential"
},
"action": "MyAction"
}
}

但是当我在node.js中访问这个对话节点时,它将始终给出第一个值,即"我想通过成功场景获得这个"它永远不会给出诸如"我想通过错误场景获得此内容"之类的输出。

如何解决这个问题?

这回答起来非常复杂,因为取决于您在聊天机器人中的业务角色。

但是,如果您想根据条件回复一条消息...

您可以在输出中看到selection_policysequential,换句话说,第一个将显示第一个短语,并且如果用户再次访问条件,将显示第二条消息。

"数组中值的返回顺序取决于属性selection_policy。">

解决此问题的更好形式是在 Node 流中为每个短语创建两个条件。

例如第一个条件流:

if bot recognizes successScenario response "I want to get this with success scenario"

在另一个第二个条件流中:

if bot recognizes errorScenario response "I want to get this with error scenario"

并且您的应用程序与 Nodejs 将根据条件获得值。

在此处查看有关此内容的官方文档,搜索有关selection_policy

我已经通过以下方式解决了这个问题。

{
"output": {
"text": {
"values": [
{
"successMsg": "success Message",
"errorMsg": "error message"
}
]
},
"action": "MyAction"
}
}

不去新节点的原因,因为通过此操作,我需要创建 API 并根据 API 调用成功和失败向用户显示此消息。然后,这将有助于保存一次往返,因为无需再次将结果状态发送到会话服务,它将根据此节点本身确定要向用户呈现的内容。

最新更新