Botframework Bot框架——”;找不到知识库ID为的QnA Maker服务。”;错误

Botframework Bot框架——”;找不到知识库ID为的QnA Maker服务。”;错误,botframework,azure-cognitive-services,qnamaker,Botframework,Azure Cognitive Services,Qnamaker,我对常见问题解答QnAMaker知识库配置有一个奇怪的问题/非问题 当我在bot emulator中发送问题时: 消息已发送到bot 路易斯决定了正确的意图;Emulator显示的Luis Trace与我预期的一模一样 Emulator显示QnAMaker跟踪“无法找到知识库ID为[ID]的QnA Maker服务。请将QnA Maker服务添加到您的机器人。” Bot返回的知识库结果与我预期的完全一致,尽管跟踪中有上一条消息。 在main对话框中执行以下代码后,跟踪被发送到仿真器 var ans

我对常见问题解答QnAMaker知识库配置有一个奇怪的问题/非问题

当我在bot emulator中发送问题时:

  • 消息已发送到bot
  • 路易斯决定了正确的意图;Emulator显示的Luis Trace与我预期的一模一样
  • Emulator显示
    QnAMaker跟踪
    “无法找到知识库ID为[ID]的QnA Maker服务。请将QnA Maker服务添加到您的机器人。”
  • Bot返回的知识库结果与我预期的完全一致,尽管跟踪中有上一条消息。
  • main对话框
    中执行以下代码后,跟踪被发送到仿真器

    var answers=wait qnaService.GetAnswersAsync(dc.Context,null,null);
    
    调试时我浏览了当地人,但没有看到任何突出的地方

    Faq
    knowledgebase位于
    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
    根据

    我是否忽略了配置细节中的某些内容?我感到困惑的主要原因是,它按预期工作,除了显示QnA Maker服务未找到的不祥痕迹。

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


    azure中的
    bot配置中检查
    QNMakerBaseID

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

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

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

    我不担心。当我点击LUIS(但只有在它随后调用QnA Maker时)时,我在emulator中得到了类似的消息,但一切仍按预期工作。下面是我收到的消息:“由于无效的订阅密钥或错误的API终结点,访问被拒绝。请确保为活动订阅提供有效密钥,并为您的资源使用正确的区域API终结点。”@billoverton我以前收到过这样的消息。将我的应用程序id/pass添加到appsettings可为我解决此问题。我将尝试发布所有内容,看看它在网络聊天中是否仍然有效。我不确定这些消息的意图是什么,如果它们没有真正的意义,并且这些服务仍然按照预期工作。奇怪!这对我来说可能是一个差异…我没有为本地测试设置应用程序ID/密码(尽管它仍然影响Azure上的LUIS和QnA Maker服务)。你的问题与之前在GH上报告的问题类似&我想这就是我最终要做的,但我解决这个问题已经有一段时间了。说得好!
    {
        "type": "qna",
        "endpointKey": "",
        "hostname": "",
        "id": "3",
        "kbId": "",
        "name": "",
        "subscriptionKey": ""
    }