라벨이 OpenAI API 429인 게시물 표시

OpenAI API 429 오류 해결, rate limit reached와 quota exceeded 차이

OpenAI API를 처음 붙이면 가장 많이 만나는 오류 중 하나가 429입니다. 문제는 429라고 다 같은 429가 아니라는 점입니다. 같은 429라도 어떤 경우는 요청을 너무 빠르게 보내서 생기고, 어떤 경우는 현재 quota나 결제 한도를 넘어 생깁니다. 이 차이를 모르고 무작정 재시도만 하면 시간만 낭비하게 됩니다. OpenAI 공식 문서에서도 429를 두 가지로 구분해 설명합니다. 하나는 rate limit reached for requests이고, 다른 하나는 exceeded your current quota입니다. 이 둘은 해결 방법이 다릅니다. 429 rate limit reached란 무엇인가 이 오류는 너무 짧은 시간 안에 요청을 많이 보내서 생깁니다. 쉽게 말하면 서버가 “잠깐만, 너무 빠르다”라고 제한을 거는 것입니다. 요청 수, 토큰 수, 모델별 제한, 사용량 티어에 따라 다르게 걸릴 수 있습니다. 429 quota exceeded란 무엇인가 이 오류는 요청 속도 문제보다 billing이나 사용량 한도 문제에 가깝습니다. OpenAI 공식 오류 코드 문서에는 현재 quota를 초과했거나 월간 지출 한도, 크레딧, 결제 상태 문제일 수 있다고 설명합니다. 두 오류 차이를 먼저 구분해야 하는 이유 rate limit reached - 잠깐 쉬었다가 다시 보내면 풀릴 수 있음 - 요청 빈도 조절이 핵심 quota exceeded - 결제나 예산 설정을 확인해야 함 - 아무리 다시 시도해도 바로 해결되지 않을 수 있음 429 rate limit reached가 뜰 때 해결법 1. 요청 간격을 늘립니다 가장 기본적인 방법입니다. 한 번에 너무 빠르게 연속 호출하지 않도록 간격을 줘야 합니다. 2. 지수 백오프를 적용합니다 OpenAI Cookbook도 재시도 시 exponential backoff를 권장합니다. 바로 다시 때리기보다 1초, 2초, 4초처럼 점점 늘려 재시도하는 방식입니다. 3. 병렬 요청 수를 줄입니다 여러 스레드나 여러 작업이 ...