【问题标题】:Creating a bot file for a v3 project为 v3 项目创建机器人文件
【发布时间】: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


【解决方案1】:

几个月前,Bot 文件与 BotBuilder SDK 的 v4 一起引入。在 v3 中,您可以为您的项目创建一个 Bot File 以将其连接到 v4 Bot Emulator,但您的所有机密和密钥仍应在您的 web.config 中进行管理。

希望这会有所帮助!

【讨论】:

  • 它有助于您确认我的假设,但它不会改善我的情况。感谢您提供帮助。
  • 你用的是什么版本的模拟器?您应该能够按照上面 TJ 的描述将密钥放在 web.config 文件中,您不需要“将它们连接到模拟器”。
猜你喜欢
  • 2021-11-23
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 2013-11-06
  • 2010-10-07
  • 1970-01-01
  • 2019-02-06
  • 2020-10-12
相关资源
最近更新 更多