我做了一个聊天机器人作为网页功能。我在后台使用的数据库是mongodb。但是由于智能,我想添加RASA而不是mongodb。
我已经了解了rasa文件的设计,但是我不了解的是rasa与nodejs的集成。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/Chatbot_Project";
var bodyParse = require('body-parser');
var urlencodedParser = bodyParse.urlencoded({
extended: false
});
MongoClient.connect(url, function(err, client) {
if (err) throw err;
db = client.db("Chatbot_Project");
var data = db.collection('Questions').find();
data.forEach(function(results, err) {
if (err) {
console.log(err);
}
var string = JSON.stringify(results);
global.str = string.substring(string.indexOf("Apply") + 9, string.indexOf("Where To Apply") - 3);
});
});
这就是我将mongodb与node集成的工作。但是我应该怎么做才能将'rasa botkit'与node集成在一起。
最佳答案
Rasa NLU和Core可以将自己显示为HTTP服务器。下面的文档链接。在按照他们自己的文档培训了他们之后,您就可以使用标准节点库(例如request或wreck)来调用他们的HTTP api。然后根据需要执行任何操作。
基本
例如,您可以在docker中启动Rasa:
docker run -p5000:5000 rasa/rasa_nlu:latest-spacy
然后训练模型,确保使用训练数据文件而不是
my_training_data.json
curl -XPOST -H "Content-Type: application/json" localhost:5000/train?project=my_project \
-d @my_training_data.json
完成后,您可以从所选择的节点库中调用
/parse
端点,例如请求:var request = require('request');
var queryString = { project:'my_project' };
var url = 'http://localhost:5000/parse'
request({url:url, qs: queryString}, function(err, response, body) {
if(err) { console.log(err); return; }
console.log("Get response: " + response.statusCode);
});
文献资料
Rasa NLU
Rasa Core
预建替代品
值得注意的是,有几个UI运行在Rasa NLU的顶部,并与数据库和Webhooks集成
Articulate(我是他们的团队的成员)
Rasa UI
Rasa Talk
使用其中之一可能会使您不必编写太多代码。
关于node.js - 如何将RASA套件与NodeJS集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51490995/