🚀 原文地址:https://rasa.com/docs/rasa/default-actions

默认操作是默认内置在对话管理器中的,其中大部分是根据某些对话情况自动预测的。当然,我们也可以自定义这些默认动作来个性化机器人。

每个默认操作中的都会有默认行为,在下面部分中进行了描述。为了重写默认行为,我们需要通过自定义操作来实现,并且其 name() 方法返回值必须与默认动作一致:

  1. class ActionRestart(Action):
  2. def name(self) -> Text:
  3. return "action_restart"
  4. async def run(
  5. self,
  6. dispatcher,
  7. tracker: Tracker,
  8. domain: Dict[Text, Any]
  9. ) -> List[Dict[Text, Any]]:
  10. # custom behavior
  11. return [...]

将此操作添加到域文件的操作部分,以便机器人知道需要使用自定义操作,而不是默认操作。

  1. actions:
  2. - 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消息来触发。

10. 表单动作

11. action_unlikely_intent

12. action_extract_slots