Aay*_*pta 1 mongodb node.js rasa-nlu
我把A聊天机器人作为网页功能.我在后台使用的数据库是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);
});
});
Run Code Online (Sandbox Code Playgroud)
这就是我用mundodb与节点进行交互的方法.但我应该怎么做才能将'rasa botkit'与节点集成.
Rasa NLU和Core可以将自己呈现为HTTP服务器.文档链接如下.一旦你按照他们自己的文档训练他们,你就可以用标准的节点库(如请求或破坏)调用他们的HTTP api.然后用响应做任何你想做的事.
举个例子,你可以在docker中启动Rasa:
docker run -p5000:5000 rasa/rasa_nlu:latest-spacy
Run Code Online (Sandbox Code Playgroud)
然后训练模型,确保使用您的训练数据文件而不是 my_training_data.json
curl -XPOST -H "Content-Type: application/json" localhost:5000/train?project=my_project \
-d @my_training_data.json
Run Code Online (Sandbox Code Playgroud)
完成后,您可以/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);
});
Run Code Online (Sandbox Code Playgroud)
作为一个注释,有几个UI在Rasa NLU的顶部运行并与数据库和webhooks集成
使用其中一个可能会阻止您编写尽可能多的代码.
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |