如果您使用的是 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 LambdaBlueprints (藍圖)。
-
建立AWS Lambda函數並在 Lambda 主控台中進行測試。在處理請求時,您的機器人會呼叫此 Lambda 函數。在本練習中,您可以使用AWS Lambda主控台中提供的 Lambda 藍圖 (lex-order-flowers-python) 來建立 Lambda 函數。藍圖程式碼說明如何使用相同的 Lambda 函數來執行初始化和驗證,以及實現
OrderFlowers
意圖。 -
更新機器人,將 Lambda 函數新增為程式碼掛接,以達成意圖。測試體 end-to-end 驗。
以下各節說明藍圖的作用。
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}?」 -
確認聲明 —「好的,您的 {FlowerType} 將準備好在 {PickupTime} 上取件。PickupDate這樣可以嗎?」
-
AWS Lambda 函數:藍圖摘要
本練習中的 Lambda 函數會同時執行初始化和驗證以及履行工作。因此,在建立 Lambda 函數之後,您可以將相同的 Lambda 函數指定為程式碼掛接,以處理初始化和驗證和履行工作,以更新意圖組態。
-
作為初始化和驗證程式碼掛鉤,Lambda 函數會執行基本驗證。例如,如果使用者提供的取件時間不在正常工作時間,Lambda 函數會指示 Amazon Lex 重新提示使用者提示時間。
-
作為履行程式碼掛接的一部分,Lambda 函數會傳回摘要訊息,指出已下花訂單 (也就是說,意圖已達成)。