Rasa Chatbot:处理重复的场景

时间:2019-07-10 22:02:54

标签: rasa-nlu rasa-core

我在跟踪机器人中工作,每个用户有很多任务,当用户询问其任务时,机器人会使用API​​提取任务,然后机器人会逐个显示任务并询问用户是否他/她今天可以完成。如果用户回答“是”,则该任务将被标记为“完成”;否则,机器人将询问用户有关完成日期的信息。

我厌倦了Action中的许多解决方案,方法是遍历任务和调度模板,但是在调度循环停止之后再也不会返回了。

Args...

1 个答案:

答案 0 :(得分:1)

这听起来像是Form的完美应用。您可以使用required_slots()方法进行API调用,然后使用validation来填充取决于用户响应的插槽。表单将一直运行到所有插槽都填满为止,然后您可以在submit()方法中决定如何处理插槽(例如,通过另一个请求更新每个插槽的任务状态)。

我建议阅读docs on Form setup,并查看formbot的代码以查看有效的实现方式