python - 满足自定义操作后,插槽不会重置
问题描述
我创建了一个自定义操作,该操作使用默认的回退意图触发并重置插槽并重新启动流程。但是,它没有按预期工作。插槽都不会重置,流程也不会重新启动。回退意图后,机器人行为异常。
行动文件:
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from rasa_core.domain import Domain
from rasa_core.trackers import EventVerbosity
import json
import requests
from requests.exceptions import ConnectionError
import logging
logger = logging.getLogger(__name__)
import datefinder
import datetime
from rasa_core_sdk import Action
from rasa_core_sdk.events import SlotSet
from rasa_core_sdk.events import UserUtteranceReverted
from rasa_core_sdk.events import AllSlotsReset
from rasa_core_sdk.events import Restarted
class ActionRestarted(Action):
def name(self):
return 'action_restarted'
def run(self, dispatcher, tracker, domain):
return[Restarted()]
class ActionSlotReset(Action):
def name(self):
return 'action_slot_reset'
def run(self, dispatcher, tracker, domain):
return[AllSlotsReset()]
故事档案:
倒退
- 完全不清楚
- action_slot_reset
- action_restarted
软件版本 Python- 3.6 rasa-core- 0.14.4 rasa-nlu- 0.15.0
我希望 ActionRestarted 和 ActionSlotReset 在满足默认意图后工作并重置插槽并重新启动对话。
解决方案
Rasa 有一个默认操作“action_restart”,它应该做你想做的事。在你的故事中看起来像
#fallback
-utter_unclear
-action_restart
推荐阅读
- android - Flutter 在 android 9 上以白色圆圈显示应用程序图标
- mysql - mySQL week函数匹配excel weeknum 16
- angular - 多个惰性模块中的惰性单例服务
- python - 如何使用 Spotipy 库按流派和年份检索曲目?
- javascript - 从 HTML 表格的同一行中的输入元素中获取值
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 2 的字节 0xbe:无效的起始字节
- oracle - 这个查询看起来很笨拙。有一个更好的方法吗?
- python - 使用 WRF (netCDF) 数据优化阵列平面 (POA) 辐照度计算
- c++ - tensorflow::Tensor 的 flat 方法以什么顺序返回数据?
- excel - 如何在Excel中相对于对象定位表格