会话流程在'试用'但跳过应用

时间:2018-05-22 12:57:44

标签: ibm-cloud watson watson-conversation

我正在制作一款预测用户穿着的衣服的应用。它也使用视觉识别工具,并且对于会话和VR进行通信,我附加了意图' suggestClothing'或者' clothResult'找到的布料。我使用Conversation实体来识别布料并做出相应的响应。

流程应如下:

用户:我该怎么看? - 分类衣服 - App to conversation: clothSuggest blackJacket 与用户交谈:"你选择了黑夹克!穿上这件绿色衬衫,然后告诉我你的样子。" - 分类衣服 - App to conversation: clothResult blackJacket greenShirt 与用户的对话:"你看起来很棒!"

所有节点都有多个响应,因为所有衣服都是成对的。用户穿着其中一个或另一个,然后Conversation将始终建议它匹配。

Conversation flow looks like this

我也试过这个。这里sq123是suggestClothing(第一个意图),cq123是clothResult:

This works fine in 'Try it out', too, but in the app, it immediately exits the branch on 'clothResult item1 item2' and matches with other conditions in the app. 什么是优化流量以使其在应用中运行的最佳方式?

1 个答案:

答案 0 :(得分:0)

它在“试一试”而不是在应用程序中工作的典型原因是上下文对象未正确返回。

当应用调用message method of the Watson Assistant API时,会传递上下文对象。调用是无状态的,Watson Assistant继续对话所需的所有内容都包含在上下文对象中。因此,当您的应用程序从message API检索结果时,它需要保存上下文并在下次再次调用消息方法时将其传递回Watson Assistant(对于该会话和用户)。