【发布时间】:2019-01-30 07:52:18
【问题描述】:
我继承了一个 Microsoft Bot Framework v3 项目。我希望在调试器中本地运行它并使用机器人模拟器进行交互。
使用 v4 项目很容易,您只需在模拟器中打开机器人文件,它就会读取连接到本地和云版本所需的配置。
也可以使用模拟器创建一个机器人文件,所以我做到了,这让我可以连接到机器人。但是,这个机器人使用 QnA 服务,当我在本地运行它并使用模拟器连接到它时,它会响应
请设置 QnAKnowledgebaseId、QnAAuthKey 和 QnAEndpointHostName(如果 适用)在应用程序设置中。了解如何通过https://aka.ms/qnaabssetup 获取它们。
由于这些值在 web.config 的应用设置中定义,并且它们肯定是在云中的 botdata 表中定义的,因此我的 bot 文件似乎不正确。 p>
任何人都可以提供有关手工制作机器人文件的指导吗?
这是当前机器人文件中的内容
{
"name": "pai46",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "da3...229",
"appPassword": "a password cribbed from the settings on Azure",
"endpoint": "http://localhost:3984/api/messages",
"id": "another guid",
"name": "development"
}
],
"padlock": "",
"version": "2.0",
"overrides": null,
"path": "D:\\pai46-src\\pai46.bot"
}
这看起来像是您通过在 Azure 上创建 QnA 机器人并下载代码而获得的 v3 QnA 入门项目的重命名,原因就是这样。在摆弄别人的代码之前,我决定以最简单的形式解决这个问题。这是web.config的一些内容。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- update these with your Microsoft App Id and your Microsoft App Password-->
<add key="MicrosoftAppId" value="da3...229" />
<add key="MicrosoftAppPassword" value="same password as bot file" />
<add key="AzureWebJobsStorage" value="DefaultEndpointsProtocol=https;AccountName=pai46a3ba;AccountKey=base64string;"/>
<add key="QnAAuthKey" value="00e...fab"/>
<add key="QnAEndpointHostName" value="https://a-working-qna-service.azurewebsites.net/qnamaker"/>
<add key="QnAKnowledgebaseId" value="ca7...b3a"/>
</appSettings>
我正在使用“Bot Framework Emulator (V4)”,因为它是我在 Microsoft 网站上唯一能找到的。帮助/关于报告版本 4.2.1
当我运行机器人并连接到它,然后在模拟器中说“嗨”时,就会发生这种情况。
【问题讨论】:
-
嗨,彼得!是的,因为采用了一个旧机器人,哈哈!让我们检查几件事:确保您的 bot 文件中没有任何内容,除了带有 localhost 端点的空“开发”服务。 v3 机器人不应该需要它。确保使用上述所有键更新您的 web.config。您可以将您的 web.config 的屏幕截图(当然,键被涂黑)发布到问题中吗?以及它们是如何在机器人中被调用的?
标签: botframework