单个机器人的多个 QnA Maker 服务
Multiple QnA Maker services for a single bot
我正在开发一个能够回答关于不同产品的不同问题的机器人。我正在考虑在 QnA Maker 中为不同的产品创建多个服务,因此问题和答案不会混淆。例如,与 "my profile" 相关的问题根据产品有不同的答案,我可以使用 LUIS 来处理该上下文。
是否可以使用多个 QnA 服务?有没有其他方法可以解决这个问题?
好的,我知道了 运行 2 种不同的 QnA 服务。我找到的唯一解决方案是调用 REST 服务而不是使用识别器。
这是手动调用一项服务的代码:
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;
由于您使用的是唯一服务 ID,因此您只需按照 LUIS 的不同意图调用每项服务。
我正在开发一个能够回答关于不同产品的不同问题的机器人。我正在考虑在 QnA Maker 中为不同的产品创建多个服务,因此问题和答案不会混淆。例如,与 "my profile" 相关的问题根据产品有不同的答案,我可以使用 LUIS 来处理该上下文。
是否可以使用多个 QnA 服务?有没有其他方法可以解决这个问题?
好的,我知道了 运行 2 种不同的 QnA 服务。我找到的唯一解决方案是调用 REST 服务而不是使用识别器。
这是手动调用一项服务的代码:
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;
由于您使用的是唯一服务 ID,因此您只需按照 LUIS 的不同意图调用每项服务。