IBM Watson Assistant:通过更改对话开关条件,循环无法正常工作

时间:2019-12-15 07:14:03

标签: chatbot ibm-watson spring-el watson-assistant

在Watson Assistant中使用的Webhook详细信息:
webhook变量: $ webhook_menu_parent
webhook值: {"data": "doc":"<MongoDoc Name>","currentPath":<Array>},"method ":"<MethodName","schema":false,"database":"<MongoDBName>","collection":<MongoCollectionName>}

 webhook result : [{ "menus": [
           {
                "type": "Type 1",
                "desc": "Description 1", 
                "isNode": false 
            },
            { 
                "type": "Type 2", 
                "desc": "Description 2", 
                "isNode": false 
            }        ],
        "currentPath": ["Path Element 1", "Path Element 2"... ]
    }
] 

Watson Assistant的结构: 目的:菜单
实体:菜单

enter image description here


欢迎节点:初始化变量$ isNode = False和$ currentPat = []
切换条件:等待回复
常规1节点:触发条件:如果助理识别出#menu或!$ isNode
输出:标注我的webhook,并将结果存储到$ webhook_menu_parent中,并初始化$ Menus = null
切换条件:等待回复
isNode:false节点:触发条件:!$ isNode
输出:通过Webhook $ webhook_menu_parent
的结果,插槽@Menus被填充并存储在上下文变量$ Menus中 上下文变量:将Webhook结果的isNode值分配给上下文变量$ isNode,并将当前菜单附加到$ currentPath,以进行下一次Webhook调用。
切换条件:跳至常规1。
常规2:触发条件:$ isNode
输出:文本“我们已经到达最终节点”
切换条件:等待回复
其他:触发条件:$其他
输出:其他任何短语。
切换条件:等待回复。

流:我想在节点“ General 1”和“ isNode:false”之间进行循环切换,直到$ isNode上下文变量为false。当$ isNode上下文变量变为true时,它应该跳转到节点“ General 2”。

问题:在节点“常规1”的切换条件为“等待答复”之前,它工作正常。但是用户必须在从节点“ General 1”切换到“ isNode:false”之间给出一个空响应。为了解决此问题,如果切换条件从“等待答复”更改为“跳过用户输入并评估子节点”,则循环不起作用。流程从节点“ General” 1转到“ isNode:false”节点,即使上下文变量$ isNode值为false,它也直接跳转到节点“ General 2”而不是“ General 1”。

沃森技能json可在https://github.com/lokeshpawar20/watsonassistantbackup

上找到

我已经在互联网上进行了搜索,但无法查明沃森助手这种行为改变的原因。

0 个答案:

没有答案