이행 진행 업데이트 구성 - Amazon Lex

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

이행 진행 업데이트 구성

의도에 대한 이행 Lambda 함수가 호출되면 봇은 함수가 완료될 때까지 응답을 보내지 않습니다. Lambda 함수를 완료하는 데 몇 초 이상 걸리는 경우 사용자는 봇이 응답하지 않는다고 생각할 수 있습니다. 이 문제를 해결하기 위해 이행 Lambda 함수가 실행되는 동안 사용자에게 업데이트를 전송하도록 봇을 구성하여 사용자가 봇이 여전히 요청을 처리하고 있음을 알 수 있도록 할 수 있습니다.

의도에 이행 업데이트를 추가하면 봇은 이행 시작 시 그리고 이행이 진행 중인 동안에도 주기적으로 응답합니다. 시작 응답을 구성할 때 봇이 응답을 전송하기 전에 지연을 지정할 수 있습니다. 이렇게 하면 이행이 비교적 빨리 완료되지 않는 경우를 지원할 수 있습니다. 업데이트 응답을 구성할 때 업데이트를 전송할 빈도를 지정합니다. 또한 제한 시간을 구성하여 이행 함수를 실행해야 하는 시간을 제한할 수 있습니다.

이행 후 응답을 봇에 추가할 수도 있습니다. 이를 통해 봇은 이행 성공, 실패 또는 시간 초과에 따라 다른 응답을 전송할 수 있습니다.

이행 업데이트는 StartConversation 작업을 사용하여 봇과 상호 작용하는 경우에만 사용됩니다. StartConversation, RecognizeTextRecognizeUtterance 작업을 사용하여 봇과 상호 작용할 때 이행 후 업데이트를 사용할 수 있습니다.

이행 업데이트

이행 업데이트는 Lambda 함수가 의도를 수행하는 동안 전송됩니다. 이행 업데이트를 켜면 이행 초기에 전송되는 시작 응답과 이행이 진행되는 동안 정기적으로 전송되는 업데이트 응답을 제공합니다.

업데이트 응답을 지정할 때는 이행 함수의 실행 시간을 결정하는 제한 시간도 지정합니다. 제한 시간을 최대 15분(900초)까지 지정할 수 있습니다.

콘솔에서 active를 false로 설정하거나 CreateIntent 또는 UpdateIntent 작업을 사용하여 이행 업데이트를 끄면 이행 업데이트에 지정된 제한 시간이 사용되지 않고 기본 제한 시간인 30초가 대신 사용됩니다.

이행 기능 제한 시간이 초과되면 Amazon Lex V2는 다음 세 가지 작업 중 하나를 수행합니다.

  • 이행 후 응답이 구성되고 활성화되었습니다. 즉, 제한 시간 응답을 반환합니다.

  • 이행 후 응답이 구성되어 있지만 활성화되지 않았으므로 예외가 반환됩니다.

  • 이행 후 응답이 구성되지 않았으므로 예외를 반환합니다.

시작 응답

Amazon Lex V2는 스트리밍 대화 중에 Lambda 이행 함수가 호출되면 시작 응답을 반환합니다. 이는 일반적으로 사용자에게 의도를 이행하는 데 시간이 걸리며 기다려야 한다고 알려줍니다. RecognizeText 또는 RecognizeUtterance 작업을 사용할 때는 시작 응답이 반환되지 않습니다.

최대 5개의 응답 메시지를 지정할 수 있습니다. Amazon Lex V2는 사용자에게 재생할 메시지 중 하나를 선택합니다.

Lambda 함수가 호출되는 시점과 시작 응답이 반환되는 시점 사이의 지연을 구성할 수 있습니다. 지연이 완료되기 전에 Lambda 함수가 작업을 완료하면 시작 응답이 반환되지 않습니다.

콘솔의 active 토글 또는 FulfillmentUpdatesSpecification 구조를 사용하여 시작 응답을 켜거나 끌 수 있습니다. active가 false인 경우 시작 응답이 재생되지 않습니다.

업데이트 응답

Amazon Lex는 Lambda 이행 함수가 실행되는 동안 스트리밍 대화 중에 정기적으로 업데이트 응답을 반환합니다. RecognizeText 또는 RecognizeUtterance 작업을 사용할 때는 업데이트 응답이 재생되지 않습니다. 업데이트 응답이 재생되는 빈도를 구성할 수 있습니다. 예를 들어, 이행 기능이 실행되는 동안 30초마다 업데이트 응답을 재생하여 사용자에게 프로세스가 실행 중이고 계속 기다려야 한다는 것을 알릴 수 있습니다.

최대 5개의 업데이트 메시지를 지정할 수 있습니다. Amazon Lex V2는 사용자에게 재생할 메시지를 선택합니다. 메시지를 여러 개 사용하면 업데이트가 반복되지 않습니다.

이행 Lambda 함수가 실행되는 동안 사용자가 음성, DTMF 또는 텍스트를 통해 입력을 제공하는 경우 Amazon Lex V2는 사용자에게 업데이트 응답을 반환합니다.

Lambda 함수가 첫 번째 업데이트 기간이 끝나기 전에 작업을 완료하면 업데이트 응답이 반환되지 않습니다.

콘솔의 active 토글 또는 FulfillmentUpdatesSpecification 구조를 사용하여 업데이트 응답을 켜거나 끌 수 있습니다. active가 false인 경우 업데이트 응답이 반환되지 않습니다.

이행 후 응답

Amazon Lex V2는 이행 기능이 종료되면 이행 후 응답을 반환합니다. 이행 후 응답은 대화를 스트리밍할 때뿐만 아니라 모든 의도를 이행할 때 사용할 수 있습니다. 이행 후 응답을 통해 사용자는 함수가 완료되었고 결과가 나왔음을 알 수 있습니다.

콘솔의 active 토글 또는 PostFulfillmentStatusSpecification 구조를 사용하여 이행 후 응답을 켜거나 끌 수 있습니다. active가 false인 경우 응답이 재생되지 않습니다.

이행 후 응답에는 다음 세 가지 유형이 있습니다.

  • 성공 - 이행 Lambda 함수가 작업을 성공적으로 완료할 때 반환됩니다. 이행 후 응답이 활성화되지 않은 경우. Amazon Lex V2는 다음 구성 작업을 수행합니다.

  • 시간 초과 – 구성된 제한 시간이 경과하기 전에 Lambda 함수가 작업을 완료하지 못하면 반환됩니다. 이행 후 응답이 활성화되지 않은 경우 Amazon Lex V2는 예외를 반환합니다.

  • 실패 – Lambda 함수가 응답의 Failed 상태를 반환하거나 Amazon Lex V2에서 의도를 이행하는 동안 오류가 발생할 때 반환됩니다. 이행 후 응답이 활성화되지 않은 경우 Amazon Lex V2는 예외를 반환합니다.

각 유형당 최대 5개의 메시지를 지정할 수 있습니다. Amazon Lex V2는 사용자에게 재생할 메시지 중 하나를 선택합니다.

이행 시작 및 이행 업데이트 응답과 달리 이행 후 응답은 스트리밍 및 비스트리밍 대화 모두에서 대해 재생됩니다.

또한 이행 후 메시지를 반환하도록 Lambda 함수를 구성하여 이러한 메시지를 무시할 수도 있습니다.

참고

의도에 종료 응답이 있는 경우, 이행 후 응답 이후에 반환됩니다.

이행 후 예시

이행 후 응답을 더 잘 이해하기 위해 여행 계획을 지원하도록 만들어진 BookTrip 봇을 예로 들어 보겠습니다. 이 봇은 BookFlight 의도를 사용하며, 고객의 항공사 항공편을 예약하는 이행 Lambda 함수로 구성되어 있습니다. BookFlight의 슬롯이 유도되면 Amazon Lex V2는 이행 Lambda 함수를 간접적으로 호출합니다. 이 이행 과정에서 다음 세 가지 결과 중 하나가 발생할 수 있습니다.

  • 성공 – 항공편이 성공적으로 예약되었습니다.

  • 시간 초과 – 예약 프로세스가 구성된 이행 Lambda 실행 시간보다 오래 걸립니다(예: 할당된 시간 내에 항공사에 연락할 수 없는 경우).

  • 실패 – 다른 이유로 예약이 실패했습니다.

이행 후 응답을 활용하여 이러한 각 상황에서 고객에게 보다 의미 있는 답변을 제공할 수 있습니다. 각 상황의 예는 다음과 같습니다.

  • 성공 응답 – “티켓을 성공적으로 예약할 수 있었으며 확인 이메일을 보냈습니다. 궁금한 점이 있으면 해당 이메일에 제공된 연락처 정보를 사용하여 언제든지 문의해 주십시오.”

  • 시간 초과 응답 – “시스템 트래픽 폭주로 인해 티켓 예약이 예상보다 오래 걸리고 있습니다. 귀하의 요청이 대기열에 있으며 이 요청에 해당하는 참조 번호가 포함된 이메일을 보내드렸습니다. 항공권이 예약되면 예약 확인서를 보내드리겠습니다. 궁금한 점이 있으면 해당 이메일에 제공된 연락처 정보를 사용하여 언제든지 문의해 주십시오.”

    참고

    시간 초과 메시지를 구성하지 않으면 Lex는 사용 사례에 해당하는 4XX 오류를 발생시킵니다.

  • 실패 응답 – “안타깝게도 티켓을 예약할 수 없습니다. 예약을 예약하는 동안 발생한 문제에 대한 세부 정보가 포함된 이메일을 보냈습니다.”