AI_StreamProviderError
AI_StreamProviderError
이 오류는 모델 응답 스트림이 시작된 후 provider가 보고한 잘 형성된 오류 이벤트를 나타내요. AI SDK는 이를 스트리밍 오류 파트와 streamText의 onError 콜백 같은 콜백에 노출해요.
출처: 문서
본문
속성 (Properties)
message: provider 오류 메시지type: provider 정의 오류 타입(선택)code: 문자열 또는 숫자로 된 provider 정의 오류 코드(선택)statusCode: provider 메타데이터에서 제공되거나 추론 가능할 때의 HTTP 동등 상태 코드(선택)isRetryable: 모델 호출 재시도가 성공할 수 있는지 여부data: 원래 provider 오류 페이로드(선택)cause: 실패를 야기한 근본 오류(선택)
isRetryable은 자동 재시도가 아니라 재시도 분류예요. 스트림에 이미 부분 출력이 있을 수 있으므로, 애플리케이션은 새 모델 호출을 시작하기 전에 그 출력을 버릴지, 교체할지, 보존할지 결정해야 해요.
이 오류 확인하기 (Checking for this Error)
여러 AI SDK 버전이 있을 때도 식별이 작동하도록 StreamProviderError.isInstance를 사용하세요:
import { StreamProviderError, streamText } from 'ai';
const result = streamText({
model: __MODEL__,
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
onError: ({ error }) => {
if (StreamProviderError.isInstance(error) && error.isRetryable) {
// Schedule an application-managed retry.
}
},
});
provider가 상태 코드를 결정할 충분한 메타데이터를 포함하지 않을 수 있어요. 그 경우 statusCode는 undefined이고 재시도 가능성은 보수적으로 분류돼요. provider별 상태·재시도 매핑은 임의의 provider 오류 타입이나 코드 부분 문자열에서 추론하는 대신 provider 어댑터가 제공해요. 숫자 코드가 statusCode를 결정하는 데 쓰여도 provider type과 code 값은 독립적으로 보존돼요. 이미 Error 인스턴스인 오류와 잘못되거나 알 수 없는 provider 값은 변경 없이 보존돼요.