通过Wit.ai运行mysql查询

时间:2017-05-29 13:09:10

标签: python-3.x api machine-learning chatbot wit.ai

在将Wit.ai集成到网站中时,是否有某种方法可以执行数据库查询,因为必须从数据库中获取用户问题的答案,并且无法对Chatbot进行培训。

1 个答案:

答案 0 :(得分:0)

您在tutorial中看到,您在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中已经有了一个实现。