使用无服务器架构和对话创建 Alexa 技能  

使用 Alexa 和 Watson 探讨天气,构建对话或从库中选择一个对话

Description

在本开发者 Pattern 中,我们将使用 Watson™ Assistant 通过 Apache OpenWhisk 无服务器框架创建 Alexa 技能。Alexa 是 Amazon Echo 等产品背后的语音服务。IBM Cloud Functions(基于 Apache OpenWhisk)将用于集成 Alexa 与 Watson Assistant。这里包含了对话示例,用于演示如何在不同意向之间传递上下文。您还可以使用本 Pattern 尝试来自 Bot Asset Exchange (BAE) 的对话。

概览

在许多工作流程中运用多种技术是很常见的,本开发者 Pattern 旨在展示如何将 Amazon Alexa 技能与 Watson Assistant 进行集成。如果您是专注于聊天机器人或人工智能的开发者,这正是为您而准备的。本 Pattern 向您展示如何开展使用 Watson 构建的对话,并使其可供 Alexa 用户使用。

我们将通过 Apache OpenWhisk 无服务器框架使用 Watson Assistant 创建 Alexa 技能。Alexa 是 Amazon Echo 等产品背后的语音服务。IBM Cloud Functions(基于 Apache OpenWhisk)将用于集成 Alexa 与 Watson Assistant。这里包含了对话示例,用于演示如何在不同意向之间传递上下文,从而进行天气查询。您还可以使用此过程尝试 Bot Asset Exchange (BAE) 中的对话。

我们希望自己的对话能够记住对话状态,并能够请求外部操作,因此我们选择使用 Redis 来保存无服务器函数调用过程中的状态,并且构建了用于检索天气预报的外部操作。您可以对此进行扩展,从而使用任意 Watson Assistant,并添加自己的操作代码。

完成本 Pattern 后,您将掌握如何:

  • 在 IBM Cloud Functions 无服务器平台中创建 OpenWhisk 操作。
  • 使用 Redis 跨事件存储会话的对话上下文。
  • 从 BAE 或 JSON 文件导入对话。
  • 使用 Node.js 调用与 Watson 的对话。
  • 使用 The Weather Channel 数据服务查询位置和天气预报。
  • 创建 Alexa 技能,与数千万客户亲密接触。

  1. 用户说 “Alexa, ask Watson…”。
  2. Alexa 使用输入文本来调用 IBM Cloud Functions。
  3. 操作从 Redis 获取对话上下文(如果有)。
  4. 操作获取 Watson Assistant 的响应。
  5. Weather Company Data 服务提供天气预报(适用时)。
  6. 将响应上下文存储在 Redis 中。
  7. 将响应文本发回至 Alexa。
  8. Alexa 回复用户。

Instructions

准备好运用本 Code Pattern 了吗?有关如何开始运行和使用此应用程序的完整细节,可参阅 README 文件。

相关博客

相关链接

英文原文

本 Code Pattern 翻译自:Create an Alexa skill with serverless and a conversation(2017-10-20)

IBM Cloud

一个横跨公共、私有和混合环境的全栈式云平台。

Watson Assistant

Watson Assistant 支持您将对话界面构建到任意应用程序、设备或通道中。

BM Cloud Functions 入门

IBM Cloud Functions(基于 Apache OpenWhisk)是函数即服务 (FaaS) 平台,可执行函数以响应传入事件,并且在不使用时不会产生任何开销。