2017-09-26 7 views
0

다른 제품에 대한 다양한 질문에 답변 할 수있는 봇을 개발 중입니다. 여러 제품에 대해 QnA Maker에서 여러 서비스를 만들려고 했으므로 질문과 답변이 혼재하지 않습니다. 예를 들어, "내 프로필"과 관련된 질문은 제품에 따라 다른 대답을 가지며 LUIS를 사용하여 해당 상황을 처리 할 수 ​​있습니다.하나의 로봇을위한 다중 QnA Maker 서비스

여러 개의 QnA 서비스로 가능합니까? 이 문제에 대한 다른 접근법이 있습니까?

+0

이것은 확실히 가능하지만 제대로 수행하는 것은 어렵습니다. 모든 QnA 서비스에 대해 별도의 의도를 가지고 쿼리를 라우팅 할 수 있습니다. – Miskov

+0

나는 거의 같은 질문을 며칠 전에 받았다. 몇 가지 시도도했지만 작동시키지 못했습니다. 네가 일할 수 있는지 알고 싶을 것이다. https://stackoverflow.com/questions/46409189/use-multiple-qna-services-in-one-bot – Anish

답변

0

글쎄, 나는 그것을 2 개의 다른 QnA 서비스로 돌리고있다. 내가 찾은 유일한 해결책은 인식기를 사용하는 대신 REST 서비스를 호출하는 것이 었습니다.

당신은 고유의 서비스 ID를 사용하고 있기 때문에
var fetch = require('node-fetch'); 
require('dotenv-extended').load({ 
    path: '../.env' 
}); 

var get_restQnA = function (question, callback){ 

    qnaurl=`https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases/${process.env.KB_ID}/generateAnswer`;  
    fetch(qnaurl, { 
     method: 'POST', 
     headers: { 
      "Content-Type": "application/json", 
      "Ocp-Apim-Subscription-Key": process.env.QNA_KEY 
     }, 
     body: JSON.stringify({ 
      "question": question, 
      "top": 1 
     }) 
    }).then(response => { 
     return response.json(); 
    }).then(data => { 
     console.log('Here is the data: ', data); 
    }).catch(err => {console.log(err);}); 
} 

module.exports.get_restQnA = get_restQnA; 

, 당신은 당신이 루이스에 대해 가지고있는 다른 의도에서 각 서비스를 호출 할 필요가 : 여기

는 하나 개의 서비스에 수동으로 전화를 걸 수있는 코드입니다.