我已经使用 LUIS 和 QnA Maker 部署了一个聊天机器人。当我在模拟器上运行它时,它在本地完美运行。它在聊天开始时加载自适应卡,我从 LUIS 那里得到了正确的回复。
但是,当我在 Azure 上部署机器人并在 Web 聊天上测试它时,出现以下错误:
向您的机器人发送此消息时出错:HTTP 状态代码 InternalServerError
这就是我的 web.config 的样子:
<configuration>
<appSettings>
<!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
<add key="BotId" value="BotLuis" />
<add key="MicrosoftAppId" value="9f9564ef-d627-450f-b943-98b7338c0f31" />
<add key="MicrosoftAppPassword" value="myapp-password" />
</appSettings>
我从在 Azure 上创建的 Web 机器人的“应用程序”设置中获取 AppID 和 AppPassword 的值。我知道它们是正确的,因为我使用这些值使用模拟器在本地进行设置。
我将代码从 github 部署到 Azure。我的机器人在天蓝色网络聊天上加载得很好(自适应卡显示),但之后我给它的任何输入,无论是交互式卡还是聊天命令,我都会收到上述错误。
应用程序 Insight 显示以下异常:
POST 到 BotLuis 失败:POST 到机器人端点失败,HTTP 状态为 500
问题 ID:Microsoft.Bot.ChannelConnector.BotAPI+d__31.MoveNext 处的 System.Exception
当我与机器人交互时,开发人员工具控制台显示了这一点:
https://webchat.botframework.com/v3/directline/conversations/3NgflndFbpzCRDtnMdZpjf-g/activities 502 (Bad Gateway)
如果您将上面的链接粘贴到浏览器中,您将得到以下结果:
{
"error": {
"code": "BadArgument",
"message": "Missing token or secret"
}
}
我现在迷路了。我可以理解这个问题,但我不知道如何继续。我是否应该在代码中的某处添加机器人的消息传递端点?
代码的 github 存储库链接:here https://github.com/hshahbaz/ChatBotwithLuis/tree/dev