События настраиваемых действий Rasa потеряны

Я пытаюсь реализовать настраиваемые действия и добавил action_get_answer в domain.yml.

actions:
 - utter_greet
 - utter_cheer_up
 - utter_did_that_help
 - utter_happy
 - utter_goodbye
 - actions.GetAnswer

Добавлено действие в actions.py:

class GetAnswer(Action):

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


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

        dispatcher.utter_message("action_get_answer")

        return []

Запускаем сервер действий:

$ rasa run actions

После запуска сервера rasa:

$ rasa x

я получаю эту ошибку, а GetAnswer не запускается -

ОШИБКА rasa.core.processor - Возникла исключительная ситуация при выполнении действия action_get_answer. Бот продолжит работу, но события действий будут потеряны. Обязательно исправьте исключение в своем пользовательском коде.

Как мне заставить это работать?

Спасибо


person vivekanon    schedule 08.06.2019    source источник


Ответы (2)


Я также работаю над RASA X. Я создал настраиваемые действия, и он успешно вызывается. Но сначала я хочу знать, содержит ли ваш файл stories.md это действие? означает, когда вызывать это действие. Здесь я привожу то, что реализовал:

В файле stories.md: -

## story1
* play
  - action_ask_question

В файле domain.yml: -

...
actions:
- action_ask_question
...

В файле action.py: -

class ActionAskQuestion(Action):
     def name(self):
          return "action_ask_question"
     def run(self, dispatcher, tracker, domain):
          dispatcher.utter_message("Action called.")
          return []

Если у вас есть вопросы, прокомментируйте.

person Rutvik    schedule 11.06.2019

У меня также была эта ошибка при использовании настраиваемых действий в Rasa (не Rasa X). Изображение ошибки

Я решил проблему, добавив конечные точки действий в файл endpoints.yml

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

запускать сервер действий с помощью одной командной строки

rasa run actions

или (если вы не устанавливали rasa)

python -m rasa_sdk --actions actions

и запустите оболочку rasa, используя другую командную строку (с конфигурациями конечной точки)

rasa shell --endpoints endpoints.yml
person MDC Rajitha    schedule 28.06.2019