支援終止通知:在 2025 年 9 月 15 日, AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後,您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在本練習中,您會進行以下動作:
-
建立您的第一個 Amazon Lex 機器人,然後在 Amazon Lex 主控台中測試它。
本練習將使用 OrderFlowers 藍圖。如需藍圖的相關資訊,請參閱 Amazon Lex 和 AWS Lambda 藍圖。
-
建立 AWS Lambda 函數,並在 Lambda 主控台中測試該函數。處理請求時,您的機器人會呼叫此 Lambda 函數。在本練習中,您可以使用 AWS Lambda 主控台中提供的 Lambda 藍圖 (lex-order-flowers-python) 來建立 Lambda 函數。藍圖程式碼說明如何使用相同的 Lambda 函數來執行初始化和驗證,以及實現
OrderFlowers
意圖。 -
更新機器人,將 Lambda 函數新增為程式碼掛鉤,以滿足意圖。測試端對端的體驗。
以下各節說明藍圖的作用。
Amazon Lex Bot:藍圖概觀
您可以使用 OrderFlowers 藍圖來建立 Amazon Lex 機器人。如需機器人結構的詳細資訊,請參閱Amazon Lex:運作方式。此機器人已預先設定如下:
-
意圖 – OrderFlowers
-
槽類型 – 一個稱為
FlowerTypes
的自訂槽類型,具有列舉值:roses
、lilies
和tulips
。 -
槽 – 意圖需要以下資訊 (也就是槽),方能使機器人實現意圖。
-
PickupTime
(AMAZON.TIME 內建類型) -
FlowerType
(FlowerTypes 自訂類型) -
PickupDate
(AMAZON.DATE 內建類型)
-
-
表達用語 – 以下範例表達用語代表使用者的意圖:
-
「我想要取花。」
-
「我想要訂花。」
-
-
提示 – 機器人確定意圖之後,會使用以下提示來填充槽:
-
FlowerType
槽的提示 –「您想要訂購哪一種花?」 -
PickupDate
槽的提示 –「您想要在哪一天拿取{FlowerType}?」 -
PickupTime
槽的提示 –「您想要在什麼時間拿取{FlowerType}?」 -
確認陳述式 – "Okay,您的 {FlowerType} 將在 {PickupDate} 的 {PickupTime} 前準備好收件。 PickupDate 這樣可以嗎?」
-
AWS Lambda 函數:藍圖摘要
此練習中的 Lambda 函數會同時執行初始化和驗證和履行任務。因此,在建立 Lambda 函數之後,您可以透過指定相同的 Lambda 函數做為程式碼掛鉤來更新意圖組態,以同時處理初始化和驗證和履行任務。
-
做為初始化和驗證程式碼掛鉤,Lambda 函數會執行基本驗證。例如,如果使用者提供在正常營業時間外的收件時間,Lambda 函數會指示 Amazon Lex 在這段時間內重新提示使用者。
-
做為履行程式碼掛鉤的一部分,Lambda 函數會傳回摘要訊息,指出已放置花順序 (也就是已履行意圖)。