你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是 AI 代理?

AI 代理是用于实现预定目标的代码或机制。 可以在聊天机器人、智能家居和金融中使用的程序化交易软件等代码中找到 AI 代理的示例。 Azure 机器人服务和 Bot Framework 是可用于生成这些 AI 代理并将它们集成到更大的软件应用程序中的平台示例。

用户越来越多地使用对话界面,这可以提供更自然的体验,人类可通过自然语言表达其需求并快速完成任务。 对于许多公司而言,对话式 AI 应用程序正在成为一种竞争优势。 许多组织正在战略性地在客户使用的相同消息传递平台中提供机器人。

世界各地的组织都在通过对话式 AI 转变其业务,这可以促进与客户和员工进行更高效、更自然的互动。 以下是一些常见的用例:

  • 客户支持
  • 企业助理
  • 呼叫中心优化
  • 车载语音助理

生成机器人

Azure 机器人服务和 Bot Framework 提供了一组集成的工具和服务来帮助创建你需要的 AI 代理。 选择你最喜欢的开发环境或命令行工具来创建机器人。 适用于 C#、JavaScript、TypeScript 和 Python 的 SDK。 适用于 Java 的 SDK 正处于开发阶段。 我们提供适合各个机器人开发阶段的工具,方便你设计和生成机器人。

Diagram that shows tools for various stages of bot development.

计划

全面了解目标、流程和用户需求对于创建成功的机器人的过程很重要。 在编写代码之前,请查看机器人设计指南以了解最佳做法,并确定机器人的需求。 可以创建一个简单的 AI 代理,或包含更复杂的功能,例如语音、自然语言理解和问答。

在计划阶段设计 AI 代理时,请考虑以下方面:

  • 定义机器人角色:
    • 机器人应该是什么样子?
      • 它应该叫什么名字?
      • 机器人的个性是什么? 它是否有性别?
      • 机器人应如何处理困难的情况和问题?
  • 设计聊天流:
    • 可以期待用例具有什么类型的对话?
  • 定义评估计划:
    • 如何衡量成功?
    • 你想使用哪些衡量标准来改善你的服务?

若要详细了解如何设计机器人,请参阅机器人设计原则

构建

机器人是一项 Web 服务,可实现聊天式界面并与 Bot Framework Service 通信,以便发送和接收消息和事件。 Bot Framework Service 是 Azure 机器人服务和 Bot Framewrk 的一个组件。 可在任意数目的环境和语言中创建机器人。 可在 Azure 门户中开始机器人开发,也可使用 C#、JavaScript 或 Python 模板进行本地开发。 还可以访问各种示例,了解通过 SDK 提供的多项功能。 这些示例特别适用于希望从功能较丰富的起点着手的开发人员。

作为 Azure 机器人服务和 Bot Framework 的一部分,我们提供了可用于扩展机器人功能的其他组件。 借助 Azure 机器人服务和 Bot Framework,你可以自信而快速地生成机器人。

功能 说明 链接
添加自然语言处理 可让机器人理解自然语言、了解拼写错误、使用语音和识别用户的意向。 如何使用 LUIS
回答问题 添加知识库,以更自然的对话形式回答用户的提问。 如何使用 QnA Maker
管理多个模型 如果使用多个模型(例如 LUIS 和 QnA Maker),则在与机器人对话的过程中,机器人能够智能地确定何时使用哪个模型。 Dispatch 工具
添加卡片和按钮 使用除文本以外的媒体(例如图形、菜单和卡片)来增强用户体验。 如何添加卡片

注意

此表不是一个完整的列表。 有关详细信息,请参阅 Azure 机器人服务文档

测试

机器人是复杂的应用程序,有许多不同的部件协同工作。 就像其他复杂应用程序一样,这种复杂性可能会导致出现一些需要关注的 bug,或者会导致机器人的行为异常。 在发布机器人之前,请对其进行测试。 在发布机器人供用户使用之前,我们提供了多种方式来测试机器人:

  • 使用模拟器在本地测试机器人。 Bot Framework Emulator 是独立的应用程序,不仅提供聊天界面,而且提供调试和询问工具来帮助理解机器人的工作方式和工作原理。 此模拟器可以在本地与正在开发的机器人应用程序一起运行。
  • Web 上测试机器人。 通过 Azure 门户进行配置以后,将可以通过网上聊天界面访问机器人。 测试者和其他无法直接访问运行代码的人员可以通过网上聊天界面访问机器人。
  • 使用 Bot Framework SDK 的 7 月更新对机器人进行单元测试

发布

准备好在 Web 上发布机器人时,请将其发布到 Azure 或你自己的 Web 服务或数据中心。 若要将机器人嵌入站点或聊天通道,第一步是获取公共 Internet 上的地址。

连接

将机器人连接到 Facebook、Messenger、Kik、Skype、Slack、Microsoft Teams、Telegram、短信、Twilio、Cortana 和 Skype 等通道。 在通过所有这些不同的平台发送和接收消息的过程中,Bot Framework 完成大多数必需的工作。 不管连接到的通道的数目和类型如何,机器人应用程序都会收到统一且规范化的消息流。 有关如何添加通道的信息,请参阅通道

评估

使用 Azure 门户中收集的数据确定改善机器人功能和性能的机会。 可以获得服务级和检测数据,如流量、延迟和集成。 此外,Analytics 还提供有关用户、消息和通道数据的对话级报告。 有关详细信息,请参阅如何收集分析数据

常见用例的模式

有一些用于实现对话式 AI 应用程序的常见模式:

  • 知识型机器人:可设计知识型机器人,让其几乎能够提供任何主题的相关信息。 例如,一个知识型机器人可能会回答有关事件的问题,例如“本次会议中进行了哪些机器人活动?”或“下一场雷鬼表演是什么时候?”另一个机器人可能会回答与 IT 相关的问题,例如“如何更新我的操作系统?”还有一个机器人可能会回答有关联系人的问题,例如“John Doe 是谁?”或“Jane Doe 的电子邮件地址是什么?”

    有关知识型机器人设计元素的信息,请参阅设计知识型机器人

  • 转给人工:无论机器人拥有多少 AI,有时候还是需要将对话转给人工。 在这种情况下,机器人应识别何时需要进行转交,并为用户提供平稳的过渡体验。

    有关转交模式的信息,请参阅将对话从机器人转给人工

  • 在应用程序中嵌入机器人:虽然机器人通常存在于应用程序外部,但它们也可以与应用程序集成。 例如,可以在应用程序中嵌入知识型机器人,以帮助用户查找信息。 也可以在技术支持应用程序中嵌入机器人,作为传入用户请求的第一响应方。 机器人可以独立解决简单问题,将更复杂的问题移交给人工处理。

    有关在应用程序中集成机器人的方法的信息,请参阅在应用程序中嵌入机器人

  • 在网站中嵌入机器人:就像在应用程序中嵌入机器人一样,机器人也可以嵌入网站中,以实现跨通道的多种通信模式。

    有关将机器人集成到网站中的方法的信息,请参阅在网站中嵌入机器人

后续步骤