翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lex V2 ボットのフルフィルメント進行状況の更新の設定
インテントのフルフィルメント Lambda 関数が呼び出されると、ボットは関数が完了するまでレスポンスを送信しません。Lambda 関数の完了に数秒以上かかる場合、ユーザーはボットが応答しないと思うかもしれません。これに対処するには、フルフィルメント Lambda 関数の実行中にユーザーにアップデートを送信するようにボットを設定して、ボットが引き続きリクエストを処理していることをユーザーに知ることができます。
インテントにフルフィルメントアップデートを追加すると、ボットはフルフィルメントの開始時とフルフィルメントの進行中に定期的に応答します。スタートレスポンスを設定するときに、ボットがレスポンスを送信するまでの遅延を指定できます。これにより、フルフィルメントが比較的早く完了しないケースをサポートできます。アップデートレスポンスを構成するときは、アップデートを送信する頻度を指定します。また、フルフィルメント関数の実行時間を制限するようにタイムアウトを構成します。
フルフィルメント後のレスポンスをボットに追加することもできます。これにより、ボットはフルフィルメントの成功、失敗、またはタイムアウトのどちらによって異なるレスポンスを送信できます。
フルフィルメントの更新は、 StartConversationオペレーションを使用してボットとやり取りする場合にのみ使用されます。、、RecognizeTextおよび RecognizeUtteranceオペレーションを使用してボットとやり取りするときにStartConversation、フルフィルメント後の更新を使用できます。
フルフィルメントのアップデート
フルフィルメントのアップデートは、Lambda 関数がインテントを満たしている間に送信されます。フルフィルメントのアップデートを有効にすると、フルフィルメントの開始時に送信されるスタートレスポンスと、フルフィルメントの進行中に定期的に送信されるアップデートレスポンスを提供します。
アップデートレスポンスを指定するときは、フルフィルメント機能を実行できる期間を決定するタイムアウトも指定します。タイムアウトの長さは、最大 15 分(900 秒)まで指定できます。
コンソールで active
を false に設定するか、 CreateIntent または UpdateIntentオペレーションを使用してフルフィルメント更新をオフにした場合、フルフィルメント更新に指定されたタイムアウトは使用されず、代わりにデフォルトのタイムアウトである 30 秒が使用されます。
フルフィルメント機能がタイムアウトした場合、Amazon Lex V2 は次の 3 つのうちいずれかを行います。
-
フルフィルメント後のレスポンスが構成され、アクティブ — タイムアウトレスポンスを返します。
-
フルフィルメント後のレスポンスが構成されており、アクティブではない場合 - 例外を返します。
-
フルフィルメント後のレスポンスが構成されていません - 例外を返します。
レスポンスを開始
Amazon Lex V2 は、ストリーミング会話中に Lambda フルフィルメント関数が呼び出されたときにスタートレスポンスを返します。通常、インテントの実行には時間がかかり、待たなければならないことをユーザーに伝えます。RecognizeText
あるいは RecognizeUtterance
の操作を行った場合、スタートレスポンスは返されません。
最大 5 つのレスポンスメッセージを指定できます。Amazon Lex V2 は、ユーザーへのメッセージを 1 つ選んで再生します。
Lambda 関数が呼び出されてからスタートレスポンスが返されるまでの遅延時間を設定できます。遅延が完了する前に Lambda 関数が作業を完了した場合、スタートレスポンスは返されません。
コンソールのactive
トグルまたは FulfillmentUpdatesSpecification構造を使用して、開始レスポンスのオンとオフを切り替えることができます。active
が [false] の場合、スタートレスポンスは再生されません。
レスポンスをアップデートする
Amazon Lex は、Lambda フルフィルメント機能の実行中に、ストリーミング会話で定期的にアップデート応答を返します。RecognizeText
または RecognizeUtterance
の操作では、アップデートレスポンスは再生されません。アップデートレスポンスが再生される頻度を設定できます。たとえば、フルフィルメント関数の実行中に 30 秒ごとにアップデートレスポンスを再生して、プロセスが実行中であり、引き続き待機する必要があることをユーザーに知らせることができます。
最大 5 つのアップデートメッセージを指定できます。Amazon Lex V2 は、ユーザーへのメッセージを選んで再生します。複数のメッセージを使用すると、アップデートが繰り返されるのを防ぎます。
フルフィルメント Lambda 関数の実行中にユーザーが音声DTMF、、またはテキストで入力すると、Amazon Lex V2 はユーザーに更新レスポンスを返します。 V2
Lambda 関数が最初のアップデート期間が終了する前に作業を完了した場合、アップデートレスポンスは返されません。
コンソールのactive
トグルまたは FulfillmentUpdatesSpecification構造を使用して、更新レスポンスのオンとオフを切り替えることができます。メトリック active
が [false] の場合、アップデートレスポンスは返されません。
フルフィルメント後のレスポンス
Amazon Lex V2 は、フルフィルメント関数の終了時にフルフィルメント後のレスポンスを返します。フルフィルメント後のレスポンスは、ストリーミング会話をするだけでなく、あらゆるインテントを満たすときに使用できます。フルフィルメント後のレスポンスでは、機能が完了したこととその結果をユーザーに知らせます。
コンソールのactive
トグルまたは PostFulfillmentStatusSpecification構造を使用して、フルフィルメント後のレスポンスのオンとオフを切り替えることができます。active
が [false] の場合、レスポンスは再生されません。
フルフィルメント後のレスポンスには、次の 3 種類があります。
-
成功 — フルフィルメント Lambda 関数の作業が正常に完了したときに返されます。フルフィルメント後のレスポンスがアクティブでない場合。Amazon Lex V2 は、次に設定されたアクションを実行します。
-
タイムアウト — 設定されたタイムアウト期間が経過する前に Lambda 関数が作業を完了しなかった場合に返されます。フルフィルメント後のレスポンスがアクティブでない場合、Amazon Lex V2 は例外を返します。
-
失敗 - Lambda 関数がレスポンスで
Failed
ステータスを返すとき、または Amazon Lex V2 がインテントを遂行する際にエラーに遭遇したときに返されます。フルフィルメント後のレスポンスがアクティブでない場合、Amazon Lex V2 は例外を返します。
各タイプのメッセージは最大 5 つまで指定できます。Amazon Lex V2 は、ユーザーへのメッセージを 1 つ選んで再生します。
フルフィルメント開始応答やフルフィルメント更新応答とは異なり、フルフィルメント後の応答は、ストリーミング会話と非ストリーミング会話の両方を再生します。
また、Lambda 関数がフルフィルメント後のメッセージを返すように設定することで、これらのメッセージを上書きすることもできます。
注記
インテントに終了応答がある場合、フルフィルメント後の応答の後に返されます。
Lex V2 のフルフィルメント後の例
フルフィルメント後のレスポンスをよりよく理解するために、例として、BookTrip
で、旅行の計画に役立つように作成されたボット BookFlight
インテント。航空会社でお客様のフライトを予約するフルフィルメント Lambda 関数で設定されます。のスロットが BookFlight
Amazon Lex V2 はフルフィルメント Lambda 関数を呼び出します。フルフィルメントプロセスでは、次の 3 つの結果のいずれかで設定できます。
-
成功 — フライトは正常に予約されました。
-
タイムアウト — 設定したフルフィルメント Lambda 実行時間よりも予約処理に時間がかかっています (たとえば、割り当てられた時間内に航空会社に連絡できない場合)。
-
失敗 — 別の理由で予約が失敗しました。
フルフィルメント後の対応を活用することで、こうした状況において顧客により有意義な応答を提供することができます。それぞれの状況の例は次のとおりです。
-
成功の応答 —「チケットの予約が完了し、確認メールを送信しました。ご不明な点がございましたら、そのメールに記載されている連絡先情報を使用して、お気軽にお問い合わせください。」
-
タイムアウトび応答 —「システムが込み合っているため、チケットの予約に予想以上に時間がかかっています。お客様のリクエストが処理待ちになっています。このリクエストに対応する参照番号を記載したメールを送信しました。チケットを予約したら、予約確認書をお送りします。ご不明な点がございましたら、そのメールに記載されている連絡先情報を使用して、お気軽にお問い合わせください。」
注記
タイムアウトメッセージを設定しない場合、Lex はユースケースに対応する 4XX エラーを投げます。
-
失敗の応答 —「申し訳ございません。チケットを予約できませんでした。予約時に発生した問題の詳細を記載したメールを送信しました。」