0
我正在開發一個能夠回答關於不同產品的不同問題的機器人。我正在考慮在QnA Maker中爲不同的產品創建多個服務,所以問題和答案不會混雜在一起。例如,與「我的個人資料」相關的問題根據產品有不同的答案,我可以使用LUIS來處理該情境。單個機器人的多個QnA Maker服務
這是可能的多個QnA服務?有沒有其他解決這個問題的方法?
我正在開發一個能夠回答關於不同產品的不同問題的機器人。我正在考慮在QnA Maker中爲不同的產品創建多個服務,所以問題和答案不會混雜在一起。例如,與「我的個人資料」相關的問題根據產品有不同的答案,我可以使用LUIS來處理該情境。單個機器人的多個QnA Maker服務
這是可能的多個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服務分別設置意圖,然後路由查詢。 – Miskov
幾天前我問過幾乎相同的問題。嘗試了一些東西,但不能得到它的工作。有興趣知道你是否可以實現它的工作。 https://stackoverflow.com/questions/46409189/use-multiple-qna-services-in-one-bot – Anish