我正在尝试使用Botpress构建聊天机器人。我是初学者,正在寻找您的帮助。要求之一是查询数据库以回答问题。我使用mysql als数据库。有人可以帮我解决这个话题吗? 谢谢。
答案 0 :(得分:1)
如果(仍)尝试创建一个可以回答一些预定义问题的聊天机器人,则有一个名为“ QNA”的模块(用于“问题和答案”)。 您可以在这里找到它:https://github.com/botpress/botpress/tree/master/modules/qna
如果未激活,请不要忘记使用NLU模块(自然语言理解)。
NLU模块在这里:https://github.com/botpress/botpress/tree/master/modules/nlu
答案 1 :(得分:1)
您可以使用自定义操作来创建MySQL数据库实用程序,该实用程序可用于连接MySQL数据库并在其中执行数据库操作。
在自定义操作中,使用knex并连接到数据库
const knex = require('knex')({
client: 'mysql',
connection: {
host: 'localhost',
user: 'root',
password: 'lamepassword',
database: 'sys'
},
useNullAsDefault: false,
log: {
warn(message) {
console.log(message);
},
error(message) {
console.error(message);
},
deprecate(message) {
console.log(message);
},
debug(message) {
console.log(message);
},
}
});
await knex.raw(query).on('query', function (data) {
console.log("Executing: " + data.sql)
}).then(function (data) {
if (data.length == 2 && name === 'get') {
user.data = data[0][0][key]
} else if (data.length == 2 && name === 'set') {
user.data = undefined;
} else if (data.length == 2 && name === 'update') {
console.log(data)
} else {
user.data = undefined;
}
}).catch(err => console.log(err));
有关更多详细信息,请查看下面的演示和this tutorial