본문 바로가기
NLP/프로젝트

GPT Batch API 활용법 (2) - 오류 해결

by ㅣlㅣl 2025. 2. 6.

지난 시간에 이어서 오류가 떴을 때 간단한 해결법을 공유해본다.

  • 당연하게도 모든 해결방법을 다루진 않는다
  • 또한 지속적인 에러가 발생할 경우 openai status (https://status.openai.com/) 를 먼저 확인하고, status에서 이상이 없을 경우 OpenAI 지원팀에 문의하는게 빠르다
  • 공식 Document가 잘되어있어서 참고하는게 좋다 (https://platform.openai.com/docs/guides/batch)

우선 페이지 (https://platform.openai.com/batches/) 에 가면 현재 request status를 확인할 수 있다는 것은 저번 포스팅에서 소개했었다.

 

여기 뜨는 status에는 아래 종류들이 있는데,

상당히 직관적이다

 

간단히 설명하면

  • 정상적으로 파일 처리를 할때는 validating - in_progress - finalizing - completed 프로세스
  • 만약 뭔가 이상이 생기면 failed
  • 취소 요청이 들어왔을때는 cancelling - cancelled 프로세스를 거친다.

(참고로 cancel은 batch request id로 직접 할수도, 홈페이지에서 cancel을 누를수도 있다)

 

하지만 completed에도 함정이 있는데, 

 

바로 이렇게 일부만 completed 되어도 "Completed" 초록불이 뜬다는 것이다.

 

그러면 저 12개의 fail은 왜 발생했지?

그 원인을 알아보는 방법을 설명한다.

 

1. 해당하는 request의 batch ID 확인

일부 실패가 뜬 저 request의 batch ID를 복사한다. (batch_ 로 시작하는 그거다)

그리고 bash 쉘에서 이 ID를 통해 request의 세부 상태를 조회할 수 있다.

curl https://api.openai.com/v1/batches/{batch_id} \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "id": "batch_",
  "object": "batch",
  "endpoint": "/v1/chat/completions",
  "errors": null,
  "output_file_id" : "file-"
  ...
    "request_counts": {
        "total": 1668,
        "completed": 1656,
        "failed": 12
      },
  ...
}

12개 failed가 뜬게 보인다.

 

이 failed의 세부 정보와 원인을 확인하려면 내용을 다운받아서 살펴보면 된다.

curl https://api.openai.com/v1/files/{output_file_id}/content \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o error_details.json

output file id는 홈페이지나 위에서 날린 curl 반환값에 존재한다.

 

이렇게 하면 현재 디렉토리에 error_details.json이 다운로드 되는데,

{"id": "batch_req_", "custom_id": "request-315", "response": {"status_code": 503, "request_id": "1", "body": {"error": {"message": "The server had an error while processing your request. Sorry about that!", "type": "server_error", "param": null, "code": null}}}, "error": null}
{"id": "batch_req_", "custom_id": "request-561", "response": {"status_code": 503, "request_id": "", "body": {"error": {"message": "The server had an error while processing your request. Sorry about that!", "type": "server_error", "param": null, "code": null}}}, "error": null}

이런 식으로 status_code랑 자세한 error message가 각 request별로 나온다.

나같은 경우는 전부 서버 오류였다....

 

현재 openai api status에 별 이상이 없다면 일시적인 오류이므로 다시 요청을 넣어주면 된다.

성공!