Настройка действия при перезапуске rasa

Привет, я пытаюсь установить какое-то сообщение, которое будет произнесено, когда пользователь перезапустит разговор. Меня спросили в Раса Форум и попытался изменить код. Но он вернул эту ошибку

AttributeError: объект «Tracker» не имеет атрибута «utter_message».

Это код, который я написал:

class ActionRestarted(Action):
""" This is for restarting the chat"""

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

async def run(
        self,
        tracker: Tracker,
        dispatcher: CollectingDispatcher,
        domain: Dict[Text, Any],) -> List[Event]:
    from rasa.core.events import Restarted

    # only utter the template if it is available
    evts = await super().run(tracker, domain, dispatcher.utter_message("Restarted"))
    return evts + [Restarted()]

Не стесняйтесь указать на мою ошибку и исправить их, спасибо


person Muhamad Asyraf Othman    schedule 07.09.2020    source источник


Ответы (1)


Вы пытаетесь передать возвращаемое значение utter_message в качестве dispatcher параметра super.run(), где ожидается объект CollectingDispatcher.

Вы можете просто вызвать utter_message из своего run метода.

async def run(
        self,
        tracker: Tracker,
        dispatcher: CollectingDispatcher,
        domain: Dict[Text, Any],) -> List[Event]:
    from rasa.core.events import Restarted

    dispatcher.utter_message("Restarted")
    return [Restarted()]
person Visvamba Nathan    schedule 07.09.2020
comment
Привет, я пробовал ваше решение, но оно дало мне эту ошибку Файл C: \ EDARAN_FAQ_CHATBOT \ actions.py, строка 82, при запуске dispatcher.utter_message (Restarted) AttributeError: объект 'Tracker' не имеет атрибута 'utter_message' - person Muhamad Asyraf Othman; 07.09.2020
comment
У трекера нет utter_message, а у диспетчера. в вашем коде, скорее всего, есть опечатка. - person Thusitha; 14.09.2020