Rasa Core: utter_template () отсутствует 1 обязательный позиционный аргумент: 'tracker'

Я использую Rasa core v10.2 с настраиваемыми действиями, но получаю utter_template() missing 1 required positional argument: 'tracker' ошибку при выполнении функции.

Файл настраиваемых действий: (actions.py)

from rasa_core.actions import Action
from rasa_core.events import SlotSet

class searchJob(Action):
    def name(self):
        return 'action_search'

    def run(self, dispatcher, tracker, domain):
        return [SlotSet("jobsname", "as_aggregate")]

domain.yml:

slots:
  jobsname:
    type: text

templates:
 utter_answer:
    - text: "The required jobs are {jobsname}"

Истории:

* search
  - action_search
  - utter_answer

На выходе будет [{'recipient_id': 'default', 'text': 'The required jobs are None'}], что означает, что слот не установлен. Может ли сообщение об ошибке быть причиной этого?

Спасибо.


person Mohit    schedule 03.08.2018    source источник


Ответы (2)


Вы уверены, что ищете правильное настраиваемое действие? У меня было такое же сообщение об ошибке, потому что в одном из моих настраиваемых действий я использовал dispatcher.utter_template() следующим образом:

dispatcher.utter_template('utter_something')

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

dispatcher.utter_template('utter_something', tracker)

и ошибка исчезла.

PS: Я знаю, что это должен быть комментарий, но мне не разрешено, так как моя репутация недостаточно высока.

person Jonathan Guymont    schedule 10.08.2018
comment
Спасибо за ответ, но в моем случае проблема заключалась в имени файла настраиваемого действия. - person Mohit; 10.08.2018

Таким образом, проблема, похоже, связана с именем файла настраиваемого действия, измените его на что-нибудь еще из «действий».

person Mohit    schedule 03.08.2018