

# Amazon Nova Sonic으로 오류 처리
<a name="speech-errors"></a>

오류가 발생하면 다음 단계를 시도해 보세요.

1. `promptEnd` 이벤트를 전송합니다.

1. `sessionEnd` 이벤트를 전송합니다.

1. 오디오 스트리밍이 시작된 경우 `contentEnd` 이벤트도 전송합니다.

이 단계를 완료하면 GPU 리소스와 메모리도 확보됩니다.

긴 대화를 처리하거나 오류에서 복구할 때 다음 방법을 사용하여 대화 재개를 구현할 수 있습니다.

1. 채팅 기록 스토리지를 설정하여 이전 상호 작용의 대화 컨텍스트를 보존합니다. [Amazon Nova 샘플 Github 리포지토리](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/chat-history-logger)에서 채팅 기록 예제를 확인할 수 있습니다.

1. 대화 제한 시간을 사전에 처리합니다.
   + 최대 연결 시간에 가까워지면 현재 요청을 끝내고 새로 시작합니다.
   + 저장된 채팅 기록을 새 요청에 포함하여 대화 연속성을 유지합니다.

1. 재개된 대화의 형식을 올바르게 지정합니다.
   + 채팅 기록을 시스템 프롬프트 다음, 새 사용자 입력 전에 배치합니다.
   + 적절한 사용자 및 어시스턴트 역할로 이전 메시지를 포함합니다.
   + 채팅 기록의 첫 번째 메시지가 사용자가 보낸 메시지인지 확인합니다.

   [Amazon Nova 샘플 Github 리포지토리](https://github.com/aws-samples/amazon-nova-samples/tree/main/speech-to-speech/repeatable-patterns/resume-conversation)에서 채팅 재개 예제를 확인할 수 있습니다.

**대화 재개를 사용해야 하는 경우**  
대화 재개 방식은 특히 다음과 같은 시나리오에서 오류 복구에 유용합니다.
+ ‘모델이 요청을 처리하는 동안 시간 초과되었습니다.’라는 메시지와 함께 `ModelTimeoutException`을 받은 후
+ 예기치 않은 연결 끊김 후 컨텍스트를 복원해야 하는 경우