Bot Framework是什么?Bot Framework是微软于2016年推出的聊天机器人开发框架,使用其感觉不太像在使用计算机,更像是在与人打交道。 用户使用文本、交互卡和语音与机器人聊天。 机器人交互可以是快速的问答,也可以是以智能方式提供服务访问权限的参与式会话。接下来将由站长百科详细为大家介绍Bot Framework部署和使用指南。
一、Bot Framework简介
Bot Framework可将机器人视为具有对话接口的 Web 应用程序。 用户通过 Facebook、Slack、Microsoft Teams 或自定义应用程序等通道连接到机器人。
1、根据机器人的配置方式及其在通道中注册的方式,交互的方式可以是文本或语音,也可以是图像和视频。
2、机器人处理用户的输入,以解读用户的要求或所说的内容。
3、机器人评估输入并执行相关任务,例如让用户提供其他信息,或代表用户访问服务。
4、机器人会响应用户,让他们知道机器人正在执行的操作或已执行的操作。
机器人通常作为 Web 应用程序实现,托管在 Azure 中,并使用 API 发送和接收消息。 机器人中的内容差异很大,具体取决于机器人的类型和其要实现的目的。 机器人可以接收消息并将其回显给用户,几乎没有涉及代码。 更复杂的机器人可以依赖各种工具和服务在各种平台上提供更丰富的体验。
机器人可以完成其他类型的软件可以完成的任务 – 读写文件、使用数据库和 API,以及执行常规的计算任务。 使机器人不同于其他软件的是,它们使用人与人之间的通信机制。
Azure AI 机器人服务 和 Bot Framework 包括:
- 用于使用 C#、JavaScript、Python 或 Java 语言开发机器人的 Bot Framework SDK。 (Java SDK 已停用,最终长期支持将于 2023 年 11 月结束;
- 对端到端机器人开发提供帮助的 CLI 工具;
- 机器人连接器服务,该服务在机器人和通道之间中继消息和事件;
- 用于机器人管理和配置的 Azure 资源。
另外,机器人可能使用其他 Azure 服务,例如:
- 用于生成智能应用程序的 Azure AI 服务;
- 用于云存储解决方案的 Azure 存储。
二、如何生成机器人
Azure AI 机器人服务和 Microsoft Bot Framework 提供一组集成的工具和服务,可帮助你在机器人生命周期的所有阶段设计和生成机器人。 适用于 C#、Java、TypeScript 和 Python 的 SDK。 请选择最喜欢的开发环境或命令行工具以创建机器人。
1、计划
与任何类型的软件一样,若要创建成功的机器人,必须全面了解目标、流程和用户需求。 可以创建简单的机器人,也可以让机器人包含较复杂的功能,例如语音、自然语言理解和问题解答。
2、构建
通常,机器人是 Azure 中托管的 Web 服务。 在 Azure 中,可以将机器人配置为从各种通道发送和接收消息和事件。 可在任意数目的环境和语言中创建机器人。 可以创建用于本地开发的机器人。
借助 Azure AI 机器人服务和 Bot Framework,可以使用其他库和服务来扩展机器人的功能。 下表介绍了 SDK 支持的一些功能。
| 功能 | 说明 | 详细信息 |
| 内存和存储 | 保留用户和对话状态 | 管理状态 |
| 自然语言理解 | 从用户输入中解读和提取信息 | 语言理解 |
| 资讯卡 | 合并文本和其他媒体,例如图像、音频、视频和按钮 | 如何添加媒体和卡 |
命令行工具,可帮助你创建、管理和测试机器人资产。
3、测试
机器人是复杂的应用,有大量不同的协同工作的部件。 就像其他复杂应用一样,这可能会导致出现一些需要关注的 Bug,或者会导致机器人的行为异常。 发布前,请先测试机器人。 在发布机器人供用户使用之前,我们提供了多种方式来测试机器人:
- 使用 Bot Framework Emulator 在本地测试机器人。 Bot Framework Emulator 是独立的应用,不仅提供聊天界面,而且提供调试和询问工具来帮助理解机器人的工作方式和工作原理。 Emulator 可以在本地与正在开发的机器人应用程序一起运行;
- 在 Web 上测试机器人。 通过 Azure 门户进行配置以后,机器人也可通过网上聊天界面进行访问。 测试者和其他无法直接访问运行代码的人员可以通过网页聊天界面访问机器人。使用当前 Bot Framework SDK 对机器人进行单元测试。
4、发布
做好在网上发布机器人的准备以后,请将机器人部署到 Azure 或你自己的 Web 服务或数据中心。 若要将机器人嵌入站点或聊天通道,第一步是获取公共 Internet 上的地址。
5、连接
将机器人连接到 Facebook、Messenger、Slack、Microsoft Teams、Telegram、通过 Twilio 实现的短信和 Cortana 等通道。 在通过所有这些不同的平台发送和接收消息的过程中,Bot Framework 完成大多数必需的工作 – 不管连接到的通道的数目和类型如何,机器人应用程序都会收到统一且规范化的消息流。
6、评估
使用 Azure 门户中收集的数据确定改善机器人功能和性能的机会。 可以获得服务级和检测数据,如流量、延迟和集成。 此外,Analytics 还提供有关用户、消息和通道数据的聊天级报告。
7、Bot Framework SDK
Microsoft Bot Framework 和 Azure AI 机器人服务提供可用于在构建、测试、部署和管理智能机器人的工具。 Bot Framework 包含用于生成机器人的模块化可扩展 SDK,其中包括工具、模板和相关 AI 服务。
Azure AI 机器人服务和 Bot Framework 提供:
- 用于开发机器人的 Bot Framework SDK;
- 涵盖端到端机器人开发工作流的 Bot Framework 工具;
- Bot Connector在机器人和通道之间发送和接收消息和事件;
- Azure 中的机器人部署和通道配置。
另外,机器人可能使用其他 Azure 服务,例如:用于生成智能应用程序的 Azure AI 服务。用于云存储解决方案的 Azure 存储。
三、部署Bot Framework机器人
1、创建基本机器人
(1)先决条件
- Java 1.8 或更高版本
- Bot Framework Emulator
- Visual Studio Code 或你喜欢用的 IDE(如果要编辑机器人代码)
- 安装 Maven
- 安装 node.js 12.10 或更高版本
- 一个 Azure 帐户(如果要部署到 Azure)
(2)Java模板
使用 Yeoman 生成器,利用 Bot Framework v4 中的核心 AI 功能快速创建会话式 AI 机器人。。
(2)安装 Yeoman
确保已安装 12.10 node.js 12.10 或更高版本。
- 安装最新的 npm:npm install -g npm
- 安装 Yeoman。 请确保全局安装:npm install -g yo
- 安装 generator-botbuilder-java:npm install -g generator-botbuilder-java
- 验证 Yeoman 和 generator-botbuilder-java 是否正确安装:yo botbuilder-java –help
2、创建机器人
在JAVA中,运行以下命令以通过模板创建回显机器人。 该命令对其参数使用默认选项。
yo botbuilder-java -T “echo”
Yeoman 会提示你输入用来创建机器人的一些信息。
? What’s the name of your bot? (echo)
? What’s the fully qualified package name of your bot? (com.mycompany.echo)
? Which template would you like to start with? (Use arrow keys) Select “Echo Bot”
? Looking good. Shall I go ahead and create your new bot? (Y/n) Enter “y”
生成器支持许多命令行选项,这些选项可用于更改生成器的默认值或预先设定提示。 选项区分大小写。
3、启动机器人
从终端导航到保存机器人的目录,然后执行下面列出的命令。
生成 Maven 项目并将其打包为 .jar 文件(存档)。
mvn package
在本地运行机器人。 将 archive-name 替换为上一命令中的实际名称。
java -jar .\target\<archive-name>.jar
现在,你已准备好启动模拟器。
4、启动模拟器并连接机器人
- 启动 Bot Framework Emulator;
- 选择模拟器的“欢迎”选项卡中的“打开机器人”;
- 输入机器人的 URL,即本地主机和端口,并将 /api/messages 添加到路径。 地址通常为:http://localhost:3978/api/messages
- 然后选择“连接” 。向机器人发送消息,机器人将会回复。
四、创建Azure机器人资源
1、先决条件
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
对用户分配的托管标识和单租户机器人,需要版本 4.15.0 或更高版本的 Bot Framework SDK(适用于 C# 和 JavaScript)。
2、创建资源
创建 Azure 机器人资源,以便将机器人注册到 Azure AI 机器人服务。
- 转到 Azure 门户;
- 在右窗格中,选择“创建资源”;
- 在搜索框中,键入 bot,然后按 Enter;
- 选择 Azure 机器人卡;
- 选择创建;
- 在必填字段中输入值,并检查和更新设置。
在“项目详细信息”下提供信息。 选择机器人是具有全局数据驻留还是本地数据驻留。 目前,本地数据驻留功能可用于“westeurope”和“centralindia”区域中的资源。
在“Microsoft 应用 ID”下提供信息。 选择如何在 Azure 中管理机器人标识,以及是创建新的标识还是使用现有标识。
- 选择“查看 + 创建”;
- 验证通过后,选择“创建”;
- 部署完成后,请选择“转到资源”。 应会看到所选资源组中列出的机器人和相关资源;
- 如果还没有 Bot Framework SDK,请选择“从 GitHub 下载”,了解如何使用首选语言的包。
现在,你已经准备好使用 Bot Framework SDK 生成机器人。
3、若要更新应用程序服务
如果机器人具有现有的App 服务资源(Web 应用),并且机器人是用户分配的托管标识应用程序,则可能需要更新机器人的应用程序服务:
- 转到机器人 Web 应用的“应用程序服务”边栏选项卡;
- 在“设置”下选择“标识”;
- 在“标识”边栏选项卡上,选择“用户分配”选项卡和“添加”(+);
- 在“添加用户分配的托管标识”边栏选项卡上:
- 选择订阅。对于用户分配的托管标识,请选择机器人的托管标识。 如果自动生成托管标识,它将与机器人同名。选择“添加”以将此标识用于机器人。
4、若要获取应用或租户 ID
若要获取机器人的应用或租户 ID:
- 转到机器人的“Azure 机器人”资源边栏选项卡;
- 转到机器人的“配置”边栏选项卡。 在此边栏选项卡中,可以复制机器人的“Microsoft 应用 ID”或“应用租户 ID”。
5、若要生成新密码
单租户和多租户机器人具有某些操作所需的应用机密或密码。 Azure AI 机器人服务会隐藏机器人机密。 但是,机器人的应用程序服务资源的所有者可以生成新密码:
- 转到机器人的“Azure 机器人”资源边栏选项卡;
- 转到机器人的“配置”边栏选项卡;
- 选择 Microsoft 应用 ID 旁边的管理,转到应用程序服务的证书 + 机密边栏选项卡;
- 按照边栏选项卡上的说明创建新的客户端密码,并将值记录在安全的位置。
-
广告合作
-
QQ群号:4114653












