2017-05-29 5 views
4

WebサイトにWit.aiを統合すると、ユーザー質問の回答をデータベースから取得し、Chatbotに訓練することができないため、データベースクエリを実行する方法があります。Wit.aiでmysqlクエリを実行

答えて

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に実装されていると思います。

+0

ありがとうございます! –

+0

ようこそ。ご覧のとおり、私のsessionIdはユーザーのfacebook idと別の文字列の複合です。なぜなら、wit.aiでフローを再起動すると、コンテキストをクリアして新しいsessionIdを生成する必要があるからです。また、私はデータベースにsessionIdとコンテキストを超えて格納しています。 – ruselli

関連する問題