오류 응답 형식
Chat Completions, Responses, Messages, Gemini는 공개 프로토콜 경계이며 Web API가 아닙니다. 네이티브 프로토콜 오류를 Web{ success, data, error } envelope로 감싸지 않습니다. 다음은 Chat과 Responses의 OpenAI 호환 gateway 오류 예시입니다.
message와 type이 있으며 code, param, 힌트 확장은 선택 사항입니다. Messages와 Gemini는 각 네이티브 오류 형식을 사용합니다. 안전하게 반환할 수 있는 upstream validation 오류는 보존되며, 결정적인 400/422에서 channel을 바꾸지 않고 첫 byte 전달 후에는 retry하지 않습니다.
HTTP 상태 코드
오류 유형
인증 오류 (401)
결제 오류 (402)
접근 오류 (403)
유효성 검사 오류 (400)
model_not_found를 반환합니다.
속도 제한 오류 (429)
요금 제한을 초과하면:Retry-After 헤더와 retry_after 필드는 모두 재시도 전 대기해야 할 정확한 초(seconds)를 나타냅니다.
페이로드가 너무 큼 (413)
입력 또는 파일 크기가 제한을 초과하면:- 이미지 파일이 너무 큼 (최대 20MB)
- 오디오 파일이 너무 큼 (최대 25MB)
- 입력 텍스트가 모델의 컨텍스트 길이를 초과함
업스트림 오류 (502, 503)
모든 채널이 실패하면 응답에 대체 모델이 포함됩니다:
Python에서 오류 처리
JavaScript에서 오류 처리
모범 사례
지수적 백오프 구현
지수적 백오프 구현
속도 제한에 걸렸을 때 재시도 사이에 점점 더 긴 대기 시간을 둡니다:
타임아웃 설정
타임아웃 설정
요청이 중단되는 것을 방지하려면 항상 적절한 타임아웃을 설정하세요:
디버깅을 위한 오류 로깅
디버깅을 위한 오류 로깅
지원 요청을 위해 요청 ID를 포함한 전체 오류 응답을 로깅하세요:
모델별 오류 처리
모델별 오류 처리
일부 모델은 특정 요구사항(예: 최대 토큰 수, 이미지 형식)을 가집니다.
요청을 하기 전에 입력을 검증하세요.