我的常见问题解答QnAMaker知识库配置有问题/没有问题。
当我在漫游器模拟器中发送问题时:
Luis Trace
-完全符合我的期望。
QnAMaker Trace
,其中带有“ 无法找到具有知识库ID [ID]的QnA Maker服务。请向您的漫游器添加QnA Maker服务。” 在MainDialog
中执行以下代码后,跟踪将发送到仿真器。
var answers = await qnaService.GetAnswersAsync(dc.Context, null, null);
我在调试时浏览了本地人,但是没有发现任何突出的地方。
Faq
知识库位于cognitivemodels.json
中,格式为
"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"
}
]
和appsettings.json
按照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"
我是否忽略了我的配置详细信息?我感到困惑的主要原因是,除了显示未找到QnA Maker服务的不祥痕迹之外, 它能按预期工作 。
答案 0 :(得分:1)
在这种情况下,您可能在本地主机中传递了错误的ID ,这对我来说是个问题。
在 azure
中检查QNMakerBaseID
中的bot configuration
答案 1 :(得分:1)
您需要将QnA信息添加到* .bot文件中:
{
"type": "qna",
"endpointKey": "",
"hostname": "",
"id": "3",
"kbId": "",
"name": "",
"subscriptionKey": ""
}
然后在您的Bot Framework仿真器中,您将看到来自QnA的结果的详细信息