在LUIS对话框中调用QnAMaker

时间:2017-07-10 18:02:25

标签: node.js rest botframework luis azure-bot-service

我有一个QnA机器人和一个LUIS机器人。当触发QnA对话框以获得响应时,我想在我的LUIS对话框中发出一个帖子请求。我只是测试了一下这个问题:你应该回答你好。

我不确定我的端口是否正确,因为我从另一个类似的stackoverflow问题中得到它,这可能是我的错误所在。我也试过没有任何端口。

当我提出问题时,我收到错误:Error: read ECONNRESET

我在Azure Bot服务上运行此操作,我怀疑这可能是导致此错误的原因。

这是我的代码:

var request = require('request');
var http = require('http');

var options = {
  host:'westus.api.cognitive.microsoft.com',
  path:'/qnamaker/v2.0/knowledgebases/<kb-key>/generateAnswer',
  port:443,
  method:'POST',
  headers:{
    'Ocp-Apim-Subscription-Key':<sub-key>,
    'Content-Type':'application/json'
  }
};
//http POST request
var reqPost = http.request(options,function(res){
    res.setEncoding('utf-8');

    var responseString = '';

    res.on('data',function(chunk){
        responseString += chunk;
    });

    res.on('end', function () {
       session.send(responseString); 
    });
});
//LUIS dialog when question is asked. 
bot.dialog('qnaReq', function (session, args) {
    //call QnA Bot and ask that bot the question
    reqPost.write({"question":"hi"}); //Just testing "hi" for now.
    reqPost.end();
    reqPost.on('error',function(e){
        session.send('error: ' + e);
    });
}).triggerAction({
    matches: 'QnA'
});

0 个答案:

没有答案