事件¶
在内部,Rasa 对话表示为事件列表。Rasa SDK 为每个事件提供类,并负责将事件类的实例转换为格式正确的事件负载。
本页面是关于 rasa_sdk
中的事件类。无论使用 rasa_sdk
还是其他动作服务器,事件及其底层负载的副作用都是相同的。有关事件的副作用、其底层负载和 Rasa 中的类的详细信息,它被转换为查看所有动作服务器的事件文档(每个小结也有对应链接)。
重要事件
在 Rasa SDK 动作服务器中编写的所有事件都需要从 rasa_sdk.events
导入。
事件类¶
SlotSet¶
底层事件:slot
参数:
key
:要设置的槽的名称。value
:将槽设置为的值。数据类型必须与槽的类型匹配。timestamp
:可选的事件时间戳。
示例:
AllSlotsReset¶
底层事件:reset_slots
参数:
timestamp
:可选的事件时间戳。
示例:
ReminderScheduled¶
rasa_sdk.events.ReminderScheduled(
intent_name: Text,
trigger_date_time: datetime.datetime,
entities: Optional[Union[List[Dict[Text, Any]], Dict[Text, Text]]] = None,
name: Optional[Text] = None,
kill_on_user_message: bool = True,
timestamp: Optional[float] = None,
)
底层事件:reminder
参数:
intent_name
:提醒器将触发的意图trigger_date_time
:应触发动作执行的日期entities
:根据意图发送的实体name
:提醒器的 ID。如果有多个具有相同 ID 的提醒器,则只会运行最后一个。kill_on_user_msg
:用户消息是否会在触发时间之前中止提醒。timestamp
:可选的事件时间戳。
示例:
from datetime import datetime
evt = ReminderScheduled(
intent_name = "EXTERNAL_dry_plant",
trigger_date_time = datetime(2020, 9, 15, 0, 36, 0, 851609),
entities = [{"name": "plant","value":"orchid"}],
name = "remind_water_plants",
)
ReminderCancelled¶
ReminderCancelled(
name: Optional[Text] = None,
intent_name: Optional[Text] = None,
entities: Optional[Union[List[Dict[Text, Any]], Dict[Text, Text]]] = None,
timestamp: Optional[float] = None,
)
底层事件:cancel_reminder
参数:
name
:提醒器的 IDintent_name
:提醒器将触发的意图entities
:根据意图发送的实体timestamp
:可选的事件时间戳。
示例:
ConversationPaused¶
底层事件:pause
参数:
timestamp
:可选的事件时间戳。
示例:
ConversationResumed¶
底层事件:resume
参数:
timestamp
:可选的事件时间戳。
示例:
FollowupAction¶
底层事件:followup
参数:
name
:将执行的后续动作名称。timestamp
:可选的事件时间戳。
示例:
UserUtteranceReverted¶
底层事件:rewind
参数:
timestamp
:可选的事件时间戳。
示例:
ActionReverted¶
底层事件:undo
参数:
timestamp
:可选的事件时间戳。
示例:
Restarted¶
底层事件:restart
参数:
timestamp
:可选的事件时间戳。
示例:
SessionStarted¶
底层事件:session_started
参数:
timestamp
:可选的事件时间戳。
示例:
UserUttered¶
UserUttered(
text: Optional[Text],
parse_data: Optional[Dict[Text, Any]] = None,
timestamp: Optional[float] = None,
input_channel: Optional[Text] = None,
)
底层事件:user
参数:
text
:用户消息的文本parse_data
:用户消息的解析数据。这通常由 NLU 填充。input_channel
:接受消息的频道timestamp
:可选的事件时间戳。
示例:
BotUttered¶
BotUttered(
text: Optional[Text] = None,
data: Optional[Dict[Text, Any]] = None,
metadata: Optional[Dict[Text, Any]] = None,
timestamp: Optional[float] = None,
)
底层事件:bot
参数:
text
:对话机器人发送给用户的文本data
:对话机器人响应的任何非文本元素。数据结构与 API 规范中给出的responses
结构相匹配。metadata
:任意 KV 元数据timestamp
:可选的事件时间戳
示例:
ActionExecuted¶
ActionExecuted(
action_name,
policy=None,
confidence: Optional[float] = None,
timestamp: Optional[float] = None,
)
底层事件:action
参数:
action_name
:被调用的动作名称policy
:用于预测动作的策略confidence
:预测动作的置信度timestamp
:可选的事件时间戳
示例: