Rasa Core:utter_template()缺少1个必需的位置参数:“ tracker”

时间:2018-08-03 16:06:20

标签: python python-3.6 rasa-nlu rasa-core

我正在使用具有自定义操作的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'}],表示未设置插槽。错误消息可能是原因吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

确定要查看正确的自定义操作吗?我有相同的错误消息,因为在我的一项自定义操作中,我像这样使用dispatcher.utter_template()

dispatcher.utter_template('utter_something')

显然tracker现在是必需的参数,即我像这样添加tracker

dispatcher.utter_template('utter_something', tracker)

错误消失了。

PS:我知道这应该是个评论,但由于我的声誉不够高,所以我被禁止了。

答案 1 :(得分:0)

因此问题似乎出在自定义操作文件的名称上,将其更改为“ actions”将执行的其他操作。