我创建了一个自定义操作,该操作由默认后备意图触发,并重置插槽并重新启动流程。但是,它并没有按预期工作。时隙均不会重置,流程也不会重新启动。后备意图后机器人行为异常。
操作文件:
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-核心- 0.14.4 rasa-nlu-0.15.0
我希望 ActionRestarted 和 ActionSlotReset 在满足默认意图后工作,重置插槽并重新启动对话。
最佳答案
Rasa 有一个默认操作“action_restart”,它应该执行您想要的操作。在你的故事中,看起来像
#fallback
-utter_unclear
-action_restart
关于python - 满足自定义操作后,插槽不会重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56290239/