Как выводить в консоль несколько ответов подряд чат бота? node.js nlp.js direct controller
Всем привет! Есть задача выводить два и больше ответов на один вопрос от юзера. Выглядеть должно так:
Юзер: work?
Бот: Yes
Бот: work
Использую данный репозиторий: https://github.com/jesus-seijas-sp/nlpjs-examples
В нем в quickstart/08.Webchat в файле index.js я написала такой код, работает только одно сообщение пока:
const { dockStart } = require('@nlpjs/basic');
(async () => { const dock = await dockStart({ use: ['Basic']});
const nlp = dock.get('nlp');
nlp.addLanguage('en');
nlp.addDocument('en', 'Work?', 'greetings.work');
nlp.addAnswer('en', 'greetings.work', 'Yes, work');
await nlp.train();
const response = await nlp.process('en', 'I should go now');
console.log(response);
})();
Пока мои попытки с несколькими ответами не увенчались успехом. Пробовала подставлять массивы, переменные, функции, setTimeOut и т.д. Но возможно и не так использовала как надо. Подскажите, пожалуйста, как решить
Ответы (1 шт):
Проблему решила. В файле pipeline.md нужно было добавить условие с возвратом нескольких вызовов, а дальше уже интегрировать через js и поправлять ответы:
# default
## main
nlp.train
console.say "Say something!"
## console.hear
// compiler=javascript
if (message === 'quit') {
return console.exit();
}
else if (message === 'bob') {
return [this.say('Hi'), this.say('bob')];
}
nlp.process();
this.say();