机器人框架 - "Unable to find a QnA Maker Service with Knowledge Base ID..."错误



我的FAQ QnAMaker知识库配置有一个奇怪的问题/非问题。

当我在机器人模拟器中发送问题时:

  1. 发送到机器人的消息。
  2. 路易斯确定正确的意图;模拟器显示Luis Trace- 看起来完全符合我的预期。
  3. 模拟器显示">找不到知识库 ID [ID] 的 QnA Maker 服务"的QnAMaker Trace。请将 QnA Maker 服务添加到机器人。
  4. 机器人完全按照我的预期返回知识库结果,尽管跟踪中有先前的消息。

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根据此Microsoft示例添加了以下内容

"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 服务的不祥痕迹之外,它按预期工作

在这种情况下,您可能在本地主机中传递了错误的ID,这对我来说是问题所在。

Azure中检查bot configuration中的QNMakerBaseID

需要将 QnA 信息添加到 *.bot 文件中:

{
"type": "qna",
"endpointKey": "",
"hostname": "",
"id": "3",
"kbId": "",
"name": "",
"subscriptionKey": ""
}

然后,在机器人框架模拟器中,你将看到来自 QnA 的结果的详细信息

最新更新