如何在 IBM Cloud 上的 Watson Assistant 服务中删除上下文变量
How to remove a context variable in Watson Assistant service on IBM Cloud
我正在使用它,但这只会将它设置为空,
{
"context": {
"time": "",
"place": "",
"things": "",
"transport": ""
},
"output": {}
}
我也试过"time": "null"
和"time": "$time.remove"
对于那些在旧 API 版本上使用 Watson Assistant 的用户:
最好使用context.remove()
in the output section。我通常有一个额外的子节点用于清理。
{
"output": {
"text": {},
"deleted": "<? context.remove('eventName') ?> <? context.remove('queryPredicate') ?>"
}
}
因为 deleted
不是上下文部分的一部分,所以不会继续。
对于最近 API 版 Watson Assistant 的用户:
将变量设置为空。这是 "Deleting a context variable".
上的文档
{
"context": {
"myvariable": null
}
}
将变量设置为空也可以在为变量赋值时在对话框中执行。
你也可以添加一个子节点,并在条件设置为true的响应后添加跳转到子节点,并将那里的上下文变量设置为null。
我相信以下是您想要的。
{
"output": {
"text": {
"values": [
"Ok got it: $Var1, $Var2, $Var3. <? $Var1 = NULL ?> <? $Var2 = NULL ?> <? $Var3 = NULL ?>"
],
"selection_policy": "sequential"
}
}
}
我正在使用它,但这只会将它设置为空,
{
"context": {
"time": "",
"place": "",
"things": "",
"transport": ""
},
"output": {}
}
我也试过"time": "null"
和"time": "$time.remove"
对于那些在旧 API 版本上使用 Watson Assistant 的用户:
最好使用context.remove()
in the output section。我通常有一个额外的子节点用于清理。
{
"output": {
"text": {},
"deleted": "<? context.remove('eventName') ?> <? context.remove('queryPredicate') ?>"
}
}
因为 deleted
不是上下文部分的一部分,所以不会继续。
对于最近 API 版 Watson Assistant 的用户:
将变量设置为空。这是 "Deleting a context variable".
上的文档{
"context": {
"myvariable": null
}
}
将变量设置为空也可以在为变量赋值时在对话框中执行。
你也可以添加一个子节点,并在条件设置为true的响应后添加跳转到子节点,并将那里的上下文变量设置为null。
我相信以下是您想要的。
{
"output": {
"text": {
"values": [
"Ok got it: $Var1, $Var2, $Var3. <? $Var1 = NULL ?> <? $Var2 = NULL ?> <? $Var3 = NULL ?>"
],
"selection_policy": "sequential"
}
}
}