我在对话中有以下 Node 。我想提出行动并根据需要调用 API。在成功场景中,将显示output.text[0]和从output.text[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中访问这个对话 Node 时,它总是给出第一个值,即“我想在成功场景下得到这个”它永远不会给出像“我想在错误场景下得到这个”这样的输出。
如何解决这个问题?
最佳答案
这个问题确实很难回答,因为取决于您在聊天机器人中的业务角色。
但是,如果您想根据条件回复一条消息...
您可以在输出中看到selection_policy
是sequential
,换句话说,首先将显示第一个短语,并且如果用户再次访问条件,将显示第二条消息。
“数组中值的返回顺序取决于属性 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 应用程序将根据条件获取值。
请参阅有关此的官方文档 here ,搜索selection_policy
。
关于node.js - Watson Conversation 中的多个输出文本值设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736426/