RasaNLUHttpInterpreter:接受 1 到 4 个位置参数,但给出了 5 个

RasaNLUHttpInterpreter: takes from 1 to 4 positional arguments but 5 were given

我正在使用 RasaNLUHttpInterpreter here 来启动我的服务器。我给了 class 所需的所有 4 个参数(模型名称、令牌、服务器名称和项目名称)。但是,我总是得到错误,显然我正在交出 5 个参数(我实际上并没有这样做)。

这个错误发生在我更新我的Rasa-Core和NLU到最新版本之后。但是,就像在文档中一样,我觉得我正确使用了该方法。有谁知道我做错了什么或这里发生了什么?

这是我的 运行-server.py 我使用 RasaNLUHttpInterpreter 的地方:

import os
from os import environ as env
from gevent.pywsgi import WSGIServer

from server import create_app
from rasa_core import utils
from rasa_core.interpreter import RasaNLUHttpInterpreter


utils.configure_colored_logging("DEBUG")

user_input_dir = "/app/nlu/" + env["RASA_NLU_PROJECT_NAME"] + "/user_input"
if not os.path.exists(user_input_dir):
    os.makedirs(user_input_dir)

nlu_interpreter = RasaNLUHttpInterpreter(
    'model_20190702-103405', None, 'http://rasa-nlu:5000', 'test_project')

app = create_app(
    model_directory = env["RASA_CORE_MODEL_PATH"],
    cors_origins="*",
    loglevel = "DEBUG",
    logfile = "./logs/rasa_core.log",
    interpreter = nlu_interpreter)

http_server = WSGIServer(('0.0.0.0', 5005), app)
http_server.serve_forever()

我正在使用: rasa_nlu~=0.15.1 rasa_core==0.14.5

前面已经提到了here我已经详细分析了问题

首先,方法调用和给定的 link 属于已弃用的 rasa 版本。在更新到分离核心和 nlu 的最新 rasa 版本后,项目被重构以适应相应的文档。

使用完全相同的设置重建机器人后,没有出现任何错误并且机器人按预期工作。

我们得出的结论是,这一定是 threxx 工作站上的一个特殊问题。

如果其他人可能会遇到这种情况,欢迎他post来这里,以便我们可以帮助他。