python - 满足自定义操作后,插槽不会重置

标签 python rasa-nlu rasa-core

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

操作文件:

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/

相关文章:

python - 拉萨 NLU : Confidence Score Computation

rasa-core - 从 Rasa 操作中获取先前的意图名称?

rasa-nlu - 'rasa' 不是内部或外部命令,也不是可运行的程序或批处理文件

python - 将类实例保存在 python 列表中并遍历每个实例

python - neomodel:如何在 StructuredNode 对象之间共享索引

bots - rasa 核心和 botkit 框架在对话流程方面有什么区别?

machine-learning - 响应生成如何在 RASA 核心中工作?

python - 向 QTextEdit 添加多行 PyQt

python - 按最接近 0 的值对 Django 查询集进行排序

rasa-nlu - 如何在 rasa 中的自定义操作中设置插槽