0

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

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

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

我在 Azure Bot Service 上运行它,我怀疑这可能是这个特殊错误的原因。

这是我的代码:

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'
});
4

0 回答 0