Как развернуть Rasa Bot в Heroku с помощью Spacy

1

Я создал бота, используя Rasa NLU и Rasa Core. Он подключен к серверу Node.js и к интерфейсу React.js Front. Способ запуска этого скрипта python:

var PythonShell = require('python-shell');

var options = {
    mode: 'text',
    pythonOptions: ['-u'],
    scriptPath: './server/Rasa_Bot_Final'
};

var pyshell = new PythonShell('dialogue_management_model.py', options);


app.post('/message', (req, res) => {
    pyshell.on('message', function (message) {
        // received a message sent from the Python script (a simple "print" statement)
        res.end(message)
    });
    pyshell.send(req.body.messageFromUser);
})

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

Error: OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.

Это потому, что я не могу запустить:

python -m spacy download en_core_web_md
python -m spacy link en_core_web_md en

на герольку.

Может кто-нибудь, пожалуйста, помогите мне обойти это?

Я ссылался на них: https://spacy.io/usage/

https://github.com/explosion/spaCy/issues/1099

Теги:
heroku
rasa-nlu

1 ответ

1

Убедитесь, что вы добавили spacy в требования и файл Procfile, содержащий команды python.

см.: Doc для Procfile

В Procfile:

web: python -m spacy download en_core_web_md && python -m spacy link en_core_web_md en

Если это происходит из-за того, что код python не может быть запущен, он может произойти из динамика, который не может распознать ваш код и настроить все соответствующим образом.

Вы должны это проверить, я думаю, что то, что герой называет buildpack.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню