自定义后备策略消息

时间:2019-03-29 10:08:04

标签: chatbot rasa-nlu rasa-core

我要自定义rasa返回的默认后备消息

Did you mean Yes or no

但是我找不到很好的例子,或者我如何从rasa sdk中获得ovveride

1 个答案:

答案 0 :(得分:0)

您必须创建一个custom action action_default_fallback来覆盖它。此操作可能如下所示:

from typing import Any, Text, Dict, List

from rasa_core_sdk import Action, Tracker
from rasa_core_sdk.executor import CollectingDispatcher
from rasa_core_sdk.events import UserUtteranceReverted


class ActionFallback(Action):

    def name(self) -> Text:
        return "action_default_fallback"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        dispatcher.utter_message("Did you mean Yes or no")

        return [UserUtteranceReverted()]

action_default_fallback添加到域文件中的操作中,并将其添加到端点文件中以连接Rasa Core和Rasa Core SDK:

action_endpoint:
  url: "http://localhost:5055/webhook"

然后使用--endpoints标志运行Rasa Core,并指定端点文件。