默认操作是默认内置在对话管理器中的,其中大部分是根据某些对话情况自动预测的。当然,我们也可以自定义这些默认动作来个性化机器人。
每个默认操作中的都会有默认行为,在下面部分中进行了描述。为了重写默认行为,我们需要通过自定义操作来实现,并且其 name() 方法返回值必须与默认动作一致:
class ActionRestart(Action):def name(self) -> Text:return "action_restart"async def run(self,dispatcher,tracker: Tracker,domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:# custom behaviorreturn [...]
将此操作添加到域文件的操作部分,以便机器人知道需要使用自定义操作,而不是默认操作。
actions:- action_start
:::danger
🧊 当心
——————————
我们在域文件中添加了action_start自定义操作后,需要使用rasa train --force重新训练模型。否则 Rasa 不会知道你已经改变了任何东西,并且可能会跳过重新训练的对话模型。
:::
1. action_listen
2. action_restart
3. action_session_start
4. action_default_fallback
5. action_deactive_loop
6. action_two_stage_fallback
7. action_default_ask_affirmation
8. action_default_ask_rephrase
9. action_back
此操作撤销最后的用户和机器人的交互,如果配置了 RulePolicy,它可以由用户通过向机器人发送/back消息来触发。
