如何在IBM Cloud上的Watson Conversation服务中删除上下文变量

时间:2018-01-31 13:36:29

标签: ibm-cloud ibm-watson watson-conversation

我正在使用它,但这只会将其设置为空,

{
  "context": {
    "time": "",
    "place": "",
    "things": "",
    "transport": ""
  },
  "output": {}
}

我还尝试了"time": "null""time": "$time.remove"

3 个答案:

答案 0 :(得分:12)

对于那些在较旧的API版本上使用Watson Assistant的人:

最好是使用context.remove() in the output section。我通常有一个额外的子节点进行清理。

{
  "output": {
    "text": {},
    "deleted": "<? context.remove('eventName') ?> <? context.remove('queryPredicate') ?>"
  }
}

由于deleted不属于上下文部分,因此无法继续使用。

适用于最新API版本的Watson Assistant:

将变量设置为null。以下是"Deleting a context variable"上的文档。

{
  "context": {
    "myvariable": null
  }
}

答案 1 :(得分:3)

您还可以在条件设置为true的响应之后添加子节点并将跳转添加到子节点,并将上下文变量设置为null。

答案 2 :(得分:1)

我相信以下是你想要的。

{
  "output": {
    "text": {
      "values": [
        "Ok got it: $Var1, $Var2, $Var3. <? $Var1 = NULL ?> <? $Var2 = NULL ?> <? $Var3 = NULL ?>"
      ],
      "selection_policy": "sequential"
    }
  }
}