本文继续围绕工业级业务对话平台和框架Rasa,对Rasa对话机器人项目实战之教育领域Education Bot开发事件驱动Event三层设计机制、全生命周期及相关源码进行解析,从而理解Rasa Agent,Rasa action server和Tracker Store之间是如何通过事件来进行交互的。
一、Rasa对话机器人项目实战之教育领域Education Bot开发事件驱动Event三层设计机制、全生命周期及源码详解
- 从系统视角、应用视角及用户视角看Event的设计和实现
Rasa中的事件可以分为系统层面的事件,应用层面的事件,以及用户消息触发的事件。
这是一个微服务action,用于暂停对话:
在run方法中会返回ConversationPaused事件:
在Rasa SDK中可以看到关于这个事件的定义:
下面是常用的SlotSet事件的定义,用于slot值的填充更新等,这个事件作用于Tracker Store,也就是通过Rasa Agent对Tracker Store中的slot状态进行操作:
下面这些是关于对话生命周期管理的事件,譬如关于重启对话session的事件:
开始一个对话session的事件: