Azure 机器人服务的工作原理

已完成

在本单元中,你将探索如何使用 Bot Framework Composer 帮助在交互式可视化设计器中设计机器人。 了解如何在 Bot Framework Composer 中使用 AI 和语言功能扩展机器人。 还可以基本了解如何创建机器人、扩展机器人功能,以及如何在 Azure 机器人服务中发布机器人。

机器人包的体系结构是什么?

Azure 机器人服务和 Bot Framework 支持完整的机器人创建过程。 支持的过程包括设计、生成、测试和发布任务。

机器人开发人员使用 Bot Framework Composer 创建 机器人包。 此包包含机器人逻辑以及有关机器人集成和连接的详细信息,包括输入通道和身份验证。 机器人包还包含任何自定义机器人代码。 Azure 机器人服务托管机器人包。 可以将 Azure 机器人视为一个 Azure Web 应用,其中包含一些额外的功能,这些功能为机器人交互提供主终结点。 通过机器人服务,用户可以与机器人交互。 同时,它可以管理外部通道和其他集成的传入和传出 REST 交互。

注释

还可以通过 Visual Studio 或 Visual Studio Code 使用 Bot Framework SDK 为机器人包提供服务。

Azure 机器人服务体系结构示意图。

考虑要创建的机器人类型

在生成机器人之前,需要确定要创建的机器人类型。 在决定时,请考虑以下问题:

  • 机器人用于什么? 确定要生成的机器人类型。 规划有助于定义要实现的功能。

  • 机器人打算解决哪些问题? 清楚这个答案。 为客户解决问题是构建机器人时的主要考虑因素。 还应考虑一些事项,例如如何比替代体验更好、更轻松或更快解决用户的问题。

  • 谁使用机器人? 如果要设计机器人,可以放心地假设用户要使用它。 不同的客户期望不同的用户体验。 了解受众有助于确定机器人设计应有多复杂。 请考虑为机器人实现哪些语言。

    小窍门

    在设计机器人时,确保出色的用户体验应该是头等大事。

  • 机器人在哪里使用? 必须确定机器人要运行的平台。 例如,设计为在移动设备上运行的机器人可能需要发送短消息服务(SMS)消息等功能。

    重要

    发布体验因平台而异。

在 Bot Framework Composer 中开发核心机器人功能

可以使用 Composer 设计、生成、扩展和测试机器人。 Composer 是用于生成机器人的视觉编辑画布。 它通常是 Azure 机器人服务创建过程的起点。

可以使用 Composer 的可视化设计器直观地开发机器人的核心功能。 你可以用其执行以下操作:

  • 使用 QnA Maker 向机器人添加自然语言理解功能。 可以使用语言理解智能服务(LUIS)、QnA 或常见问题解答等功能。
  • 使用语言生成模板为机器人创建文本和语音变体响应。
  • 使用多种语言生成机器人。
  • 使用嵌入式网上聊天直接在 Composer 内部测试机器人。
  • 将机器人发布到 Azure 应用服务和 Azure Functions。
  • 集成外部服务,例如 LUIS 应用和 QnA Maker 知识库。

创建对话和聊天流

对话控制机器人与其用户进行的对话。 对话包含语言生成响应模板,用于定义机器人响应以及机器人如何执行任务的说明。 例如,在餐馆预订晚餐或创建 Outlook 日历项目。

许多对话都是线性的,具有简单的问题和响应顺序。 但某些对话还包括高级聊天逻辑。 此逻辑可能包括分支、循环和基于上下文的动态和自适应对话。 这些类型的对话通常使用外部数据,维护有状态聊天数据,并在聊天中造成必要的中断。

使用技能和其他机器人包括外部流

通过将 Composer 技能、NuGet 包,甚至其他 Azure 机器人服务机器人导入到机器人中,可以创建更复杂的聊天流。 可以创建一系列嵌套机器人,以创建一组更模块化且可重用的机器人功能。 可以将这些更小的模块化组件组合在多个组合中,为不同的父机器人提供一组功能。 例如,你可能有一个机器人处理有关管理日历条目的对话流,输入和响应,例如“我的下一次会议何时?”或“是否需要会议室?”通过将机器人打包为技能,可以轻松地将技能(和相关日历聊天处理功能)集成到你创建的任何其他机器人中。

使用卡片、图像和按钮增强对话

可以使用多个视觉和交互式方法增强机器人用户的聊天。 使用卡片创建基于格式的文本、图像和基于按钮的内容,以提供比纯文本更交互式的体验。 Composer 提供了多种卡片类型,包括缩略图、登录、音频和视频。

使用 LUIS 和 QnA Maker 扩展语言理解和智能

LUIS 通过完整的意向和实体管理系统提供自然语言处理。 可以集成以前创建的 LUIS 应用,也可以在 Composer 中创建新应用,以向机器人添加可靠的自然语言理解功能。

QnA Maker 是基于云的服务。 使用它从现有的 FAQ 样式文档和网站中提取问答对。 然后,可以将该信息导入知识库,知识专家可以手动策展。 可以将机器人与 QnA 知识库集成。 通过此集成,可查找任何给定自然语言输入的最合适的答案。

使用网上聊天测试机器人

可以使用 网上聊天直接在 Composer 中测试机器人的功能。 网上聊天在本地机器人运行时中运行机器人,这意味着可以在开发计算机上本地测试机器人,而无需将其发布到 Azure。 网上聊天具有完整的调试、脚本记录和机器人状态检查功能,用于测试机器人功能的各个方面。

使用 Bot Framework SDK 添加中间件并扩展机器人功能

若要编辑机器人源代码和扩展机器人功能,可以使用 Bot Framework SDK 使用 Visual Studio、Visual Studio Code 或所选的受支持 IDE。 将机器人打包并发布为 NuGet 包。 将这些包导入 Composer,以便轻松集成。 可以在 Composer 和 Bot Framework SDK 之间无缝移动,整个机器人开发生命周期。 这种移动性可确保始终将最有效的工具用于任何开发任务。

将机器人发布到 Azure

Azure 机器人服务在 Azure 中托管机器人功能。 直接从 Composer 界面发布机器人,在 Composer 中创建端到端开发体验。

Azure 机器人服务在 Azure Web 应用资源中托管机器人。 此资源包含用于连接到外部资源的代码、逻辑和基本 HTTP REST 终结点。 Azure 机器人服务还提供现成的机器人服务通道。 机器人服务通道提供一个适配器层,该层将机器人交互适应另一个聊天服务协议,例如 Facebook、Slack、Teams、电话等。

从 Composer 发布时,发布过程还可以创建或导入依赖的 Azure 资源。 这些资源包括 LUIS、QnA Maker、Azure Cosmos DB、Application Insights 和 Blob 存储。