本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解機器人對話
建立機器人之後,您可以將用戶端應用程式與 Amazon Lex V2 執行階段作業整合,以便與機器人進行對話。當使用者與您的機器人開始對話時,Amazon Lex V2 會建立工作階段。工作階段會封裝應用程式與機器人之間交換的資訊。如需詳細資訊,請參閱了解 Amazon Lex V2 機器人工作階段。
典型的對話涉及用戶和機器人之間的來回流程。例如:
User : I'd like to make an appointment
Bot : What type of appointment would you like to schedule?
User : dental
Bot : When should I schedule your dental appointment?
User : Tomorrow
Bot : At what time do you want to schedule the dental appointment on 2021-01-01?
User : 9 am
Bot : 09:00 is available, should I go ahead and book your appointment?
User : Yes
Bot : Thank you. Your appointment has been set successfully.
使用RecognizeText或RecognizeUtteranceAPI操作可自行管理交談。使用此StartConversationAPI作業可讓 Amazon Lex V2 為您管理交談。
若要管理對話,您必須將使用者話語傳送至機器人,直到對話達到邏輯結束為止。目前的交談會以工作階段狀態擷取。工作階段狀態會在每個使用者說話之後更新。工作階段狀態包含交談的目前狀態,並由機器人回應每個使用者的話語時傳回。
交談可以處於下列任一狀態:
-
ElicitIntent— 表示機器人尚未確定使用者的意圖。
-
ElicitSlot— 表示機器人已偵測到使用者的意圖,並正在收集必要的資訊以達成意圖。
-
ConfirmIntent— 表示機器人正在等待用戶確認收集的信息是否正確。
-
已關閉 — 表示使用者的意圖已完成,且與機器人的對話達到邏輯結束。
使用者可以在第一個意圖完成後指定新的意圖。如需詳細資訊,請參閱與您的 Lex V2 機器人的對話內容。
意圖可以具有下列其中一種狀態:
-
InProgress— 表示機器人正在收集完成意圖所需的資訊。這與
ElicitSlot
交談狀態結合。 -
等待中 — 表示使用者要求機器人在機器人要求提供特定位置的資訊時等候。
-
已履行 — 表示與意圖相關聯的 Lambda 函數中的商務邏輯已成功執行。
-
ReadyForFulfillment— 指出機器人已收集完成意圖所需的所有資訊,且用戶端應用程式可執行履行商務邏輯。
-
失敗 — 指示意圖失敗。
請參閱下列主題,了解如何使用 Amazon Lex V2 管理APIs機器人和使用者之間的交談內容和工作階段。