首页 > 解决方案 > 满足自定义操作后,插槽不会重置

问题描述

我创建了一个自定义操作,该操作使用默认的回退意图触发并重置插槽并重新启动流程。但是,它没有按预期工作。插槽都不会重置,流程也不会重新启动。回退意图后,机器人行为异常。

行动文件:

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()]

故事档案:

倒退

软件版本 Python- 3.6 rasa-core- 0.14.4 rasa-nlu- 0.15.0

我希望 ActionRestarted 和 ActionSlotReset 在满足默认意图后工作并重置插槽并重新启动对话。

标签: pythonrasa-nlurasa-core

解决方案


Rasa 有一个默认操作“action_restart”,它应该做你想做的事。在你的故事中看起来像

#fallback
-utter_unclear
-action_restart

推荐阅读