如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
练习 1:使用蓝图创建 Amazon Lex 机器人(控制台)
在本练习中,您将执行以下操作:
-
在 Amazon Lex 控制台中创建您的首个 Amazon Lex 机器人并进行测试。
在此练习中,使用 OrderFlowers 蓝图。有关蓝图的信息,请参阅 Amazon Lex 和 AWS Lambda 蓝图。
-
在 Amazon Lex 控制台中创建 AWS Lambda 函数并进行测试。在处理请求时,机器人调用此 Lambda 函数。在此练习中,使用 AWS Lambda 控制台中提供的 Lambda 蓝图 (lex-order-flowers-python) 来创建 Lambda 函数。此蓝图代码说明如何使用该 Lambda 函数执行初始化和验证以及履行
OrderFlowers
意图。 -
更新机器人以将 Lambda 函数添加为代码挂钩,从而履行此意图。测试端到端体验。
下面几节介绍蓝图的作用。
Amazon Lex 机器人:蓝图概览
使用 OrderFlowers 蓝图可以创建 Amazon Lex 机器人。有关机器人结构的更多信息,请参阅Amazon Lex:工作原理。此自动程序将按如下方式进行预配置:
-
目的 - OrderFlowers
-
槽类型 - 一个称为
FlowerTypes
的自定义槽类型,具有枚举值:roses
、lilies
和tulips
。 -
槽 – 在自动程序实现此目的之前,目的需要以下信息 (即槽)。
-
PickupTime
(AMAZON.TIME 内置类型) -
FlowerType
(FlowerTypes 自定义类型) -
PickupDate
(AMAZON.DATE 内置类型)
-
-
表达 – 以下示例表达表示用户的目的:
-
“我想要取花。”
-
“我想要订些花。”
-
-
提示 - 在自动程序确定此目的后,它会使用以下提示来填充槽:
-
用于
FlowerType
槽的提示 -“您想要订哪种类型的花?” -
PickupDate
槽的提示 –“您想在哪天来取 {FlowerType}?” -
PickupTime
槽的提示 –“您想在什么时间来取 {FlowerType}?” -
确认语句:“好的,您可于 {PickupDate} {PickupTime} 来取您的 {FlowerType}。这样可以吗?”
-
AWS Lambda 函数:蓝图摘要
此练习中的 Lambda 函数执行初始化和验证以及履行任务。因此,创建 Lambda 函数后,通过将该 Lambda 函数指定为代码挂钩,可以处理初始化和验证以及履行任务,从而更新意图配置。
-
作为初始化和验证代码挂钩,Lambda 函数执行基本验证。例如,如果用户提供正常营业时间范围之外的某个提取时间,则 Lambda 函数会指示 Amazon Lex 重新提示用户指定时间。
-
作为履行代码挂钩的一部分,Lambda 函数会返回一条摘要消息,指示鲜花订单已下单(即,意图已履行)。