🚀 原文地址:https://rasa.com/docs/action-server/sdk-tracker

Tracker类表示 Rasa 对话跟踪器,它允许我们在自定义操作中访问机器人的记忆,并且我们可以通过 Tracker属性和方法获取有关过去事件和当前对话状态的信息。

1. 属性

Tracker对象具备以下属性:

  • sender_id:与机器人交谈的用户唯一ID
  • slots:在相关领域中定义的可以被填充的插槽
  • latest_message:包含最新消息属性的字典:意图、实体和文本
  • events:所有先前事件的列表
  • active_loop:当前活动表单的名称
  • latest_action_name:机器人执行的最后一个操作的名称

    2. 方法

    除了上述属性之外,Tracker对象还有以下方法:
方法 描述 参数 返回值
current_state 将当前跟踪器状态作为对象返回 类型为Dict[str, Any]
is_paused 说明跟踪器当前是否暂停 类型为bool
get_latest_entity_values 在最新消息中,获取满足实体类型和可选角色和组别的实体值
- entity_type:感兴趣的实体类型
- entity_role:感兴趣的实体角色
- entity_group:感兴趣的实体组别
返回实体值的列表,类型为Iterator[str]
get_latest_input_channel 获取最新的UserUttered事件的input_channel的名称 返回类型为Optional[str]
event_after_latest_restart 在最近重新启动后,返回事件列表 返回类型为Lict[Dict]
get_slot 检索插槽的值 key:需要检索其值的插槽名称 返回类型为Optional[Any]
get_intent_of_latest_message 检索用户最后的意图 skip_fallback_intent:可以选择跳过nlu_fallback意图,并返回排名第二的结果,默认为True 最新消息的意图(如果可用的话),返回类型为Optional[Text]