当前情况::我目前有一个具有LUIS集成(NODE.js)的可运行的Web应用程序机器人。我想向机器人添加QnA制造商。我已经通过Azure机器人服务创建了QnA制造商,并创建了供其使用的知识库。
问题::将qna maker详细信息添加到bot并与nodemon ./index.js一起运行时,出现错误“错误:加密的值不是有效格式”。我已经测试过,尝试在
期间读取主机名值时会抛出此错误botConfig = BotConfiguration.loadSync(BOT_FILE, process.env.botFileSecret);
将主机名粘贴到浏览器中时,Azure会显示“您的App Service应用已启动并正在运行”页面,指示主机名很好。
问题:
如何进一步调试?与QnA制造商的设置方式有关吗?
QnA制造商和Knoledge库均已发布-我是否必须通过Azure门户手动将其添加到机器人的配置中,以使其能够识别QnA制造商?
许多文档都基于bot框架的v3,并且不知道它是否仍然适用。
Bop文件中的QnA代码段(省略了一些值,不确定它们的敏感程度):
{
"type": "qna",
"name": "pathqna",
"KbId": "OMITTED",
"subscriptionId": "OMITTED",
"endpointKey": "OMITTED",
"hostname": "https://pathqna.azurewebsites.net",
"id": "7"
}
我看过的文档:
具有完整的挂锁值的完整bot文件(所有OMITTED值均具有真实密钥,并且名称已更改为Test):
{
"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"
}
]
}
答案 0 :(得分:3)
找到了解决方案-如果您不使用msbot /模拟器耸肩
,则使用msbot cli添加QnA maker而不是手动添加,因为文件已加密并且丢失了解密我删除了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
这将保留挂锁值并成功添加。
答案 1 :(得分:0)
尽管您提供的信息不足以提供解决方案,但是您可以检查以下步骤。
“错误:加密的值不是有效格式” *请再次检查您的漫游器密钥。
然后,在您的bot文件中,尝试删除挂锁值。
"padlock": ""
此外,我假设在您的实际代码中,您已使用从QnAMaker门户获得的实时密钥替换了<< strong> Omitted (已省略)。
如有可能,提供错误的屏幕截图。