在将Wit.ai集成到网站上时,是否存在执行数据库查询的方法,因为用户问题的答案必须从数据库中获取,并且不能训练成聊天机器人。
发布于 2017-06-07 13:14:38
正如您在教程中所看到的,您在wit.ai中定义了操作,这些操作可以涉及变量,这些变量可以作为响应发送给用户。因此,您应该在您定义的操作中对数据库进行查询,如果您还没有定义它们,那么就这样做,因为您可以在那里使您的逻辑发生。此外,考虑到您可能处理到数据库的非同步请求,那么您应该实现一个块机制,以便在您完成查询之后在每个操作中返回上下文。
我知道您希望在python中实现,但是我已经在node.js上实现了,下面是我的示例代码。
getFullName({sessionId, context, entities}) {
let session;
let fbid = sessionId.split("-")[0];
return fbTypingOn(fbid)
.then(() => {
return model.getSesion(fbid);
})
.then(sesion => {
session = sesion;
return callFbUserAPI(session);
})
.then(first_name => {
session.context.fullNameGreeting = utilsBot.buildGreeting(session);
return model.setSesion(session);
})
.then( sesion => {
return session.context;
})
.catch( error => {
console.log("Error in getFullName " + error);
session.context.fullNameGreeting = "Hola";
return context;
});
}确保您阅读了官方页面中的所有文档,因为如果没有文档,那么您应该这样做。而且,我想,python 2中已经有了一个实现。
https://stackoverflow.com/questions/44243325
复制相似问题