【问题标题】:MS Bot framework v4 - cannot add QnA maker to bot - hostname encrypted value is not a valid formatMS Bot 框架 v4 - 无法将 QnA 制造商添加到 bot - 主机名加密值不是有效格式
【发布时间】:2019-06-15 21:12:38
【问题描述】:

当前情况:我目前有一个可以使用 LUIS 集成 (NODE.js) 的网络应用程序机器人。我想向机器人添加一个 QnA 制造商。我通过 Azure bot 服务创建了一个 QnA maker,并创建了一个知识库供它使用。

问题: 将 qna 制造商详细信息添加到机器人并使用 nodemon ./index.js 运行时,我收到错误“错误:加密值不是有效格式”。我已经测试过,当它在

期间尝试读取主机名值时会引发此错误
botConfig = BotConfiguration.loadSync(BOT_FILE, process.env.botFileSecret);

将主机名粘贴到浏览器中时,Azure 显示“您的应用服务应用程序已启动并正在运行”页面,表明主机名正常。

问题:

  1. 如何进一步调试?这可能与 QnA 制造商的设置方式有关吗?

  2. QnA 制造商和 Knoledge 库均已发布 - 我是否必须通过 Azure 门户手动添加到机器人的配置中才能使其识别 QnA 制造商?

很多文档都是基于 bot 框架的 v3 并且不知道它是否仍然适用。

Bot 文件中的 QnA sn-p(省略了一些值,不确定它们有多敏感):

{
  "type": "qna",
  "name": "pathqna",
  "KbId": "OMITTED",
  "subscriptionId": "OMITTED",
  "endpointKey": "OMITTED",
  "hostname": "https://pathqna.azurewebsites.net",
  "id": "7"
}

我看过的文档:

  1. https://docs.microsoft.com/en-gb/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=javascript
  2. https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/tutorials/create-qna-bot
  3. https://github.com/Microsoft/botbuilder-tools/blob/master/packages/MSBot/docs/sample-bot-file.json
  4. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/how-to/troubleshooting-runtime#how-to-get-latest-qnamaker-runtime-updates

带有空挂锁值的完整机器人文件(所有省略的值都有真正的键并且名称已更改为测试):

{
  "name": “Test”,
  "padlock": "",
  "version": "2.0",
  "services": [
    {
      "tenantId": "OMITTED",
      "subscriptionId": "OMITTED",
      "resourceGroup": OMITTED,
      "serviceName": OMITTED,
      "type": "abs",
      "name": OMITTED,
      "id": "1"
    },
    {
      "connectionString": "OMITTED",
      "tenantId": "OMITTED",
      "subscriptionId": "OMITTED",
      "resourceGroup": OMITTED,
      "serviceName": "patha048",
      "type": "blob",
      "id": "2"
    },
    {
    “appId": "OMITTED",
      "appPassword": “OMITTED”,
      "endpoint": "http://localhost:3978/api/messages",
      "type": "endpoint",
      "name": "development",
      "id": "3"
    },
    {
      "appId": "OMITTED",
      "appPassword": “OMITTED”,
      "endpoint": "https://path-a048.azurewebsites.net/api/messages",
      "type": "endpoint",
      "name": "production",
      "id": "4"
    },
    {
      "instrumentationKey": “OMITTED”,
      "applicationId": “OMITTED”,
      "apiKeys": {},
      "tenantId": "OMITTED",
      "subscriptionId": "OMITTED",
      "resourceGroup": OMITTED,
      "serviceName": "Patht6r6m4",
      "type": "appInsights",
      "id": "5"
    },
    {
      "appId": “OMITTED”,
      "authoringKey": “OMITTED”,
      "version": "0.1",
      "region": "westus",
      "type": "luis",
      "name": "BasicBotLuisApplication",
      "id": "6"
    },
    {
      "type": "qna",
      "name": "pathqna",
      "id": "7",
      "kbId": “OMITTED”,
      "subscriptionKey": "OMITTED",
      "endpointKey": “OMITTED”,
      "hostname": "https://pathqna.azurewebsites.net"
    }
  ]
}

【问题讨论】:

    标签: node.js botframework azure-bot-service qnamaker


    【解决方案1】:

    找到解决方案 - 使用 msbot cli 添加 QnA 制造商,而不是手动添加,因为文件已加密并且如果您不使用 msbot/emulator 会丢失其解密耸耸肩

    我删除了 qna sn-p 并运行此命令(已添加通用值以保留实际值):

    msbot connect qna --secret <botFileSecret> --name pathqna --kbId <KB-ID> --subscriptionKey <SUB_KEY> --endpointKey <ENDPOINT_KEY> --hostname "https://pathqna.azurewebsites.net" --bot Path.bot
    

    这保留了挂锁值并成功添加。

    【讨论】:

    【解决方案2】:

    虽然您提供的信息不足以提供解决方案,但您可以检查以下步骤。

    “错误:加密值不是有效格式” *请再次检查您的机器人密钥。

    然后,在您的机器人文件中,尝试删除挂锁值。

    "padlock": ""
    

    另外,我假设在您的实际代码中,您已将“OMITTED”替换为您从 QnAMaker 门户获得的实时密钥。*

    如果可能,请提供错误的屏幕截图。

    【讨论】:

    • 如果我删除挂锁值,我可以注册 qna 服务,但是由于错误“[onTurnError]:错误:响应 401:使用的密钥无效,应用程序不再工作,格式错误、为空或与区域不匹配。”我已经删除了 bot 文件中的 qna sn-p 并删除了挂锁值,它给出了相同的错误。什么是挂锁值?我可以再生它吗?我找不到任何文档。
    • 你能分享.bot文件吗?
    • 我已更新原始帖子以包含完整的机器人文件(太长,无法添加为评论)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多