選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

排程預約

焦點模式
排程預約 - Amazon Lex V1

支援終止通知:在 2025 年 9 月 15 日, AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後,您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

支援終止通知:在 2025 年 9 月 15 日, AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後,您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在本練習中的範例機器人會為牙醫診所排定預約。範例同時說明如何使用回應卡,利用按鈕來取得使用者輸入。範例特別說明以動態方式在執行時間產生回應卡。

您可以在建置時間設定回應卡 (也稱為靜態回應卡),或在 AWS Lambda 函數中動態產生回應卡。在此範例中,機器人使用以下回應卡:

  • 列出預約類型按鈕的回應卡。如需範例,請參閱下列影像:

    詢問要安排的預約類型和三個選項的回應卡:清理 (30 分鐘)、根管 (60 分鐘) 和白化 (90 分鐘)。
  • 列出預約日期按鈕的回應卡。如需範例,請參閱下列影像:

    要求排程預約日期的回應卡,以及三個選項:2-15、2-16 和 2-17。
  • 列出按鈕以確認建議之預約時間的回應卡。如需範例,請參閱下列影像:

    要求確認預約時間和日期的回應卡,有兩個選項:是和否。

可預約的日期和時間各不相同,因此您需要在執行時間產生回應卡。您可以使用 AWS Lambda 函數動態產生這些回應卡。Lambda 函數會在回應 Amazon Lex 時傳回回應卡。Amazon Lex 會在回應用戶端時包含回應卡。

如果用戶端 (例如,Facebook Messenger) 支援回應卡,使用者可以從按鈕清單中選擇,或輸入回應。否則,使用者會直接輸入回應。

除了上例中顯示的按鈕之外,您也可以包含影像、附件和其他有用的資訊以顯示在回應卡上。如需有關回應卡的資訊,請參閱 回應卡

在本練習中,您會進行以下動作:

  • 建立和測試機器人 (使用 ScheduleAppointment 藍圖)。就此練習,您使用機器人藍圖來快速設定和測試機器人。如需可用的藍圖清單,請參閱Amazon Lex 和 AWS Lambda 藍圖。此機器人已針對一個意圖 (MakeAppointment) 進行預先設定。

     

  • 建立和測試 Lambda 函數 (使用 Lambda 提供的 lex-make-appointment-python 藍圖)。您可以設定使用此 Lambda 函數做為程式碼掛鉤的MakeAppointment意圖,以執行初始化、驗證和履行任務。

    注意

    提供的範例 Lambda 函數會根據牙醫預約的模擬可用性來展示動態對話。在實際的應用程式中,您可以使用實際的行事曆來設定預約時間。

  • 更新MakeAppointment意圖組態,以使用 Lambda 函數做為程式碼掛勾。然後,測試端對端體驗。

  • 將排程預約機器人發佈到 Facebook Messenger,以便您可以查看作用中的回應卡 (Amazon Lex 主控台中的用戶端目前不支援回應卡)。

以下章節提供有關在本練習中所用之藍圖的摘要資訊。

機器人藍圖概觀 (ScheduleAppointment)

在本練習中,您用來建立機器人的 ScheduleAppointment 藍圖已預先設定以下設定:

  • 槽類型 – 一個稱為 AppointmentTypeValue 的自訂槽類型,包含 root canalcleaningwhitening 的列舉值。

  • 意圖 – 一個意圖 (MakeAppointment),這已預先設定如下:

    • – 已使用以下槽來設定意圖:

      • AppointmentType,為 AppointmentTypes 自訂類型。

      • Date,為 AMAZON.DATE 內建類型。

      • Time,為 AMAZON.TIME 內建類型。

    • 表達用語 - 意圖已使用以下表達用語進行預先設定:

      • 「我想要預約」

      • 「預約」

      • 「預約 {AppointmentType}」

      如果使用者說出任何這些內容,Amazon Lex 會判斷 MakeAppointment是意圖,然後使用提示來引出槽資料。

    • 提示 - 意圖已使用以下提示進行預先設定:

      • AppointmentType 槽的提示 -「您想要排定哪一種預約?」

      • Date 槽的提示 -「我應該何時排定您的 {AppointmentType}?」

      • Time 槽提示 –「您希望在何時排程 {AppointmentType}?」 以及

        「在 {Date} 幾點?」

      • 確認提示 -「可以約 {Time},要我幫您預約該時間嗎?」

      • 取消訊息 -「好的,我不會排定預約。」

Lambda 函數藍圖概觀 (lex-make-appointment-python)

Lambda 函數藍圖 (lex-make-appointment-python) 是您使用 ScheduleAppointment 機器人藍圖建立之機器人的程式碼掛鉤。

此 Lambda 函數藍圖程式碼可以同時執行初始化/驗證和履行任務。

  • Lambda 函數程式碼顯示根據牙醫預約的範例可用性進行的動態對話 (在實際應用程式中,您可以使用行事曆)。對於使用者指定的一天或日期,程式碼設定如下:

    • 如果沒有可用的預約,Lambda 函數會傳回回應,指示 Amazon Lex 提示使用者改日或日期 (將dialogAction類型設定為 ElicitSlot)。如需詳細資訊,請參閱回應格式

    • 如果在指定的日期只有一個預約可用,Lambda 函數會建議回應中的可用時間,並指示 Amazon Lex 在回應dialogAction中設定 以取得使用者確認ConfirmIntent。這裡說明了您可以如何透過主動提出可預約時間,改善使用者體驗。

    • 如果有多個可用的預約,Lambda 函數會傳回回應 Amazon Lex 的可用時間清單。Amazon Lex 會傳回回應給用戶端,其中包含來自 Lambda 函數的訊息。

  • 做為履行程式碼掛鉤,Lambda 函數會傳回摘要訊息,指出已排定預約 (也就是已履行意圖)。

注意

在這個範例中,我們示範如何使用回應卡。Lambda 函數會建構回應卡並將其傳回給 Amazon Lex。回應卡會將可預約的日期和時間列為可供選擇的按鈕。使用 Amazon Lex 主控台提供的用戶端測試機器人時,看不到回應卡。若要查看,必須將機器人與簡訊平台整合,例如 Facebook Messenger。如需說明,請參閱 將 Amazon Lex 機器人與 Facebook Messenger 整合。如需回應卡的詳細資訊,請參閱管理訊息

當 Amazon Lex 調用 Lambda 函數時,它會傳遞事件資料做為輸入。其中一個事件欄位是 invocationSource,Lambda 函數會使用它在輸入驗證和履行活動之間進行選擇。如需詳細資訊,請參閱輸入事件格式

後續步驟

步驟 1:建立 Amazon Lex 機器人

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。