gpt4 book ai didi

node.js - MS Bot 框架 v4 - 无法将 QnA 生成器添加到机器人 - 主机名加密值不是有效格式

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:11 24 4
gpt4 key购买 nike

当前情况:我目前有一个可运行的具有 LUIS 集成 (NODE.js) 的 Web 应用程序机器人。我想向机器人添加 QnA 生成器。我通过 Azure 机器人服务创建了一个 QnA 生成器,并创建了一个知识库供其使用。

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

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

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

问题:

  1. 如何进一步调试?这可能与 QnA 生成器的设置方式有关吗?

  2. QnA 生成器和知识库均已发布 - 我是否需要通过 Azure 门户手动添加一些内容到机器人的配置中才能使其识别 QnA 生成器?

很多文档都是基于机器人框架 v3 的,不知道它是否仍然适用。

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

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

我看过的文档:

  1. https://learn.microsoft.com/en-gb/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=javascript
  2. https://learn.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://learn.microsoft.com/en-us/azure/cognitive-services/QnAMaker/how-to/troubleshooting-runtime#how-to-get-latest-qnamaker-runtime-updates

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

{
"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"
}
]
}

最佳答案

找到了解决方案 - 使用 msbot cli 添加 QnA 生成器,而不是手动添加,因为文件已加密,如果您不使用 msbot/模拟器,则会丢失其解密耸耸肩

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

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

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

关于node.js - MS Bot 框架 v4 - 无法将 QnA 生成器添加到机器人 - 主机名加密值不是有效格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54307598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com