我使用Wit.ai和FB Messenger构建了一个基于流的聊天机器人,最终正在运行;我需要弄清楚的最后一件事是在谈话结束时该怎么做。
我的机器人引导用户完成一个简单的练习步骤,他们可能会选择回来再做一次。有没有办法可以训练我的机器人识别当用户稍后返回对话时,他们需要从头开始再次进行对话?目前,对话以“Bot发送”消息结束,如果用户在响应中输入任何内容,则会出现乱码。
目前我正在重置我的heroku服务器,删除FB Messenger中的对话并启动新的聊天以在测试中再次运行该练习。
答案 0 :(得分:1)
一旦到达对话中的自然停止点。您可以删除在进行回调后设置的上下文属性。
delete context.loc;
如果您想从头开始对话,可以删除会话。
答案 1 :(得分:0)
@Jim Factor - 如果你正在使用 runAction API,那么一旦你到达对话的逻辑结束,你应该删除上下文,会话并进行其他清理(比如删除/保存数据库条目) runAction 的 .then() 部分。在messenger示例中,虽然大多数代码已被注释掉,但已经显示了这一点。如果你在 runAction 中传递一个新的 sessionId ,那么它就像开始一个新对话一样好,但当然,为了使这个工作正常,你还应该重置上下文变量并做与您的应用相关的其他清理。希望这可以帮助!