使用 bot 框架 SDK 4.0 的 bot 项目中 BotConfiguration.bot 的结构是什么以及如何将其添加到项目中?

what is structure of BotConfiguration.bot in bot project using bot framwork SDK4.0 and how to add it the project?

我指的是来自 git 集线器 link QnAbot 的 QnA 机器人示例,但是当我按照这些步骤操作时,我无法弄清楚 BotConfiguration.bot。我想查看此 .bot 文件的示例。但是,在示例代码目录中,我没有找到它。

谁能告诉我如何使用 SDK4.0 创建一个简单的 QnA 机器人?

我正在使用 C# .net 核心机器人模板。

谢谢。

为了自动生成机器人文件,您必须使用 botbuilder-tools。出于某种原因,示例自述文件中缺少说明,我将努力尽快更新。

您可以通过运行在命令行中执行此命令来安装工具:

npm install -g chatdown msbot ludown luis-apis qnamaker botdispatch luisgen

您需要安装:

  • Node.js 8.5 或更高版本
  • .NET Core SDK 版本 2.1.403 或更高版本

然后你将不得不 运行 msbot init 命令和你需要的选项,可以找到选项列表 here

示例命令如下所示:

msbot init --name TestBot --endpoint http://localhost:9499/api/messages

然后您将需要添加 qnamaker 服务,这里有关于添加此服务和其他服务的信息 here

您要 运行 添加 qnamaker 服务的命令示例如下所示:

msbot connect qna --name "<NAME>" --kbId <KNOWLEDGE BASE ID> --subscriptionKey <SUBSCRIPTION KEY> --endpointKey <ENDPOINT-KEY> --hostname "https://myqna.azurewebsites.net"

完成后,您将得到一个如下所示的 .bot 文件:

{
    "name": "qnamaker2",
    "services": [
        {
            "type": "endpoint",
            "name": "qnamaker2",
            "endpoint": "http://localhost:3978/api/messages",
            "appId": "",
            "appPassword": "",
            "id": "0"
        },
        {
            "type": "qna",
            "name": "{YOUR QnA APP NAME}",
            "kbId": "{YOUR KNOWLEDGEBASE ID}",
            "subscriptionKey": "{YOUR SUBSCRIPTION KEY}",
            "endpointKey": "{your endpoint key}",
            "hostname": "{YOUR HOSTNAME}",
            "id": "74"
        }
    ],
    "padlock": "",
    "version": "2.0"
}

有一种无需键入所有这些命令即可生成机器人配置文件的更简单方法。

a) 安装 Bot Framework Emulator

b) 启动模拟器,导航到 "File" 和 select "New Bot Configuration"。

c) 输入所有需要的信息后,只需将文件保存在您想要的位置即可。

p/s:示例botConfiguraton.bot文件可以参考官方Microsoft documentation.