I have a curious issue/non-issue with my Faq QnAMaker knowledgebase configuration.
When I send a question in the bot emulator:
- Message sent to the bot.
- Luis determines the proper intent; Emulator shows
Luis Trace- looks exactly as I expect. - Emulator shows
QnAMaker Tracewith "Unable to find a QnA Maker service with Knowledge Base ID [ID]. Please add a QnA Maker service to your bot." - Bot returns the knowledgebase result exactly as I expect, despite the previous message in the trace.
The trace is sent to the emulator after the following code executes in MainDialog.
var answers = await qnaService.GetAnswersAsync(dc.Context, null, null);
I browsed through the locals while debugging, but did not see anything that stood out.
Faq knowledgebase is in the cognitivemodels.json with the form,
"knowledgebases": [
{
"name": "KB-NAME",
"subscriptionKey": "SUBSCRIPTION KEY FROM AZURE COG SERVICE",
"id": "KB-NAME",
"hostname": "https://HOSTNAME.azurewebsites.net",
"kbId": "KBID-FROM-QNAMAKER-SETTINGS-DEPLOYMENT-DETAILS",
"endpointKey": "ENDPOINT-KEY-FROM-QNAMAKER-SETTINGS-DEPLOYMENT-DETIAILS"
}
]
and appsettings.json has the following added in accordance with this Microsoft example
"qnaMaker": {
"endpoint": "ENDPOINT-FROM-AZURE-QNA-COG-RESOURCE",
"key": "KEY-FROM-AZURE-QNA-COG-RESOURCE"
},
"QnAKnowledgebaseId": "KB-ID-FROM-QNAMAKER-SETTINGS-DEPLOYMENT-DETIAILS", // Also tried kb name from cogmodels.json
"QnAAuthKey": "AUTH-ENDPOINT-KEY-FROM-QNAMAKER-SETTINGS-DEPLOYMENT-DETIAILS",
"QnAEndpointHostName": "https://HOST.azurewebsites.net/qnamaker"
Am I overlooking something in my configuration details? The main source of my confusion is that it works as expected aside from the ominous trace that shows the QnA Maker service wasn't found.