Как использовать rasa action_restart

Привет друзья,

Я разрабатываю простое приложение restaurant_search с использованием структуры стека Rasa. Я новичок в Python и машинном обучении. Я застрял в какой-то точке. Здесь я хочу реализовать функцию action_restart для действий rasa, когда мой пользователь снова начинает разговор с начала в середине разговора, т.е. мне нужно, чтобы история снова начиналась с начала. Любая помощь приветствуется и заранее благодарим.


person Manojkumar Teluguntla    schedule 11.12.2018    source источник


Ответы (1)


В дополнение к истории, которая обрабатывает счастливый путь (greet-> search_restaurant-> select_cuisine), добавьте историю, которая обрабатывает дополнительный путь:

## Story if user says greet instead of selecting a cuisine
* greet
  - utter_greet
* search_restaurant
  - utter_ask_cuisine
* greet
  - action_restart

Чтобы выполнить перезапуск с помощью настраиваемого действия, чтобы:

from rasa_core_sdk import Action
from rasa_core_sdk.events import Restarted

class SomeAction(Action):
    def name(self):
        return "some_action"

    def run(self, dispatcher, tracker, domain):
        # do something here

        return [Restarted()]

Вы можете использовать action_default_fallback, описанный здесь: https://rasa.com/docs/core/fallbacks/.

person Tobias    schedule 12.12.2018
comment
Прошу прощения, если вы неправильно поняли мои намерения. Позвольте мне сказать это просто. Рассмотрим поиск ресторана. 1. пользователь приветствует бота - ›бот приветствует пользователя 2. пользователь запрашивает поиск ресторана -› бот спрашивает, какая кухня вам нужна 3. Если пользователь снова приветствует --- ›Я хочу, чтобы бот перезапустился здесь. пожалуйста, дайте мне знать, если вы понимаете мои намерения. - person Manojkumar Teluguntla; 13.12.2018
comment
Я адаптировал свой ответ к вашему комментарию. - person Tobias; 13.12.2018