Gavin老师Transformer直播课感悟 - 基于Transformer的Rasa 3.x 内核解密之系统内置Action源码解析(三十三)

本文深入解析对话系统Rasa的内置Action,包括ActionSessionStart、ActionRestart、ActionBack等,探讨其在对话管理中的作用,如启动会话、重启对话和回退状态。同时介绍ActionEndToEndResponse、ActionDefaultFallback等,展示如何处理用户输入和对话失败情况。
摘要由CSDN通过智能技术生成

        本文继续围绕工业级业务对话平台和框架Rasa 的系统内置Action源码进行解析。这些actions包括ActionSessionStart、ActionRestart、ActionBack等等。

一、Rasa微服务内核action.py源码剖析常见类、工具方法及微服务通信类

  1. ActionSessionStart、ActionRestart、ActionBack源码解析

关于ActionSessionStart:

这个类用于启动一个对话session,考虑到存在有之前的对话session,那么会从之前的session中获取所有的”SlotSet” events,然后应用到当前启动的新的session中。

ActionSessionStart继承自Action:

方法name返回这个action的name,它是一个常量定义:

方法_slot_set_events_from_tracker会从对话状态跟踪器tracker中获取已有的SlotSet events:

方法run首先通过创建一个SessionStarted的实例来构建一个event list “_events”,它会使用下面的方法重置tracker的状态:

然后从domain配置里判断是否需要使用前面session里的SlotSet events,如果是,则通过方法_slot_set_events_from_tracker获取后添加到”_events”中,然后再添加一个event “ActionExecuted(ACTION_LISTEN_NAME)” 来让对话机器人在启动新session后进入监听用户输入的状态。Run方法会返回”_events”:

关于ActionRestart:

这个类用于在对话重启时重置对话状态跟踪器为初始状态。如果配置有response,则对话机器人会发送对话重启的消息给用户。

ActionRestart继承自ActionBotResponse:

方法name返回这个action的name,它是一个常量定义:

方法__init__调用父类的方法来初始化重启:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值