默认操作是默认内置在对话管理器中的,其中大部分是根据某些对话情况自动预测的。当然,我们也可以自定义这些默认动作来个性化机器人。
每个默认操作中的都会有默认行为,在下面部分中进行了描述。为了重写默认行为,我们需要通过自定义操作来实现,并且其 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 behavior
return [...]
将此操作添加到域文件的操作部分,以便机器人知道需要使用自定义操作,而不是默认操作。
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
消息来触发。