Batch JSONL 결과가 빠졌나요?
custom_id로 대조하는 실전 방법
Batch API는 입력 순서대로 결과 파일을 내보낸다고 보장하지 않습니다. 성공과 실패가 다른 파일에 나올 수 있으므로, 위치가 아니라 각 요청의 custom_id를 기준으로 매칭해야 합니다.
지금 무료 JSONL 결과 대조하기바로 실습하려면
아래 가상 파일 3개를 내려받아 무료 대조기에 선택하세요. 실제 API 계정·비밀번호·토큰을 요구하지 않습니다.
예제에서 확인되는 4개의 요청
실제 OpenAI 결과가 아닌 허구의 예제입니다. 4번 요청은 제공된 두 결과 파일에서 찾을 수 없다는 뜻이지 실제 서비스가 처리하지 않았다는 뜻이 아닙니다.
| custom_id | 입력 줄 | 발견한 결과 | 대조 판정 |
|---|---|---|---|
| fictional-201 | 1 | output 2행 | 성공 · HTTP 200 |
| fictional-202 | 2 | output 1행 | 성공 · HTTP 200 |
| fictional-203 | 3 | errors 1행 | 제공자 오류 |
| fictional-204 | 4 | 해당 없음 | 제공 파일에서 못 찾음 |
실제 작업을 검토하는 7단계
배치 상태부터 확인
원래 OpenAI Batch 객체의 상태를 먼저 확인합니다. validating·in_progress·finalizing 중에는 결과가 완성됐다고 가정하지 마세요. completed라도 개별 요청 실패를 점검해야 하며, expired·cancelled·failed 상태는 별도로 확인하세요.
원래 입력 JSONL 확보
실행에 사용한 입력 파일을 안전한 로컬 위치에서 확인합니다. 각 줄에는 고유한 custom_id, POST, /v1/... 경로와 JSON body가 필요합니다. 입력 파일이 동일 모델·엔드포인트 요구사항을 만족하는지도 검토하세요.
성공·오류 파일을 각각 내려받기
Batch 객체의 output_file_id가 있으면 성공 결과 JSONL을 받고, error_file_id가 있으면 별도 실패 JSONL을 받습니다. 파일 ID가 아직 없다는 것과 오류가 없다는 것은 같지 않습니다.
custom_id로 정렬 없이 대조
결과의 첫 번째 줄을 입력 첫 번째 줄과 대응시키지 마세요. 위 가상 성공 파일은 두 요청의 순서를 일부러 바꿨습니다. 대응 키가 custom_id인지 직접 확인합니다.
누락·중복·HTTP 상태 분류
입력 ID 중복, 결과 ID 중복, 입력에는 없는 결과 ID, 4xx/5xx HTTP status_code와 별도 error 필드를 분리합니다. 결과 파일이 불완전하면 누락 상태를 실제 작업 실패로 확정하지 않습니다.
검토 CSV 다운로드
무료 브라우저 대조기의 매칭 CSV와 문제 CSV를 내려받고 입력·출력·오류 줄 번호를 검토합니다. 내보낸 자료에는 custom_id 등이 포함될 수 있으므로 팀에서 공유할 때 주의하세요.
개별 실패를 원본 API에서 다시 확인
기계적인 파일 대조는 서비스 승인·과금·실행 완료 또는 모델 답변의 정확성을 증명하지 않습니다. 필요한 경우 원본 Batch API 문서와 실계정 상태에서 별도로 확인하세요.
자주 발생하는 실제 문제
출력 파일의 2행이 입력 파일 2행과 다른가요?
그럴 수 있습니다. 문서에는 출력 순서가 입력 순서와 다를 수 있다고 명시돼 있습니다. custom_id로 대응시키세요.
output_file_id가 비어 있는데 Batch가 고장 난 건가요?
아닙니다. 처리 중일 때 아직 출력 파일이 준비되지 않았을 수 있습니다. 먼저 Batch 객체의 status를 확인하세요.
누락이라고 나오면 모델이 요청을 버린 건가요?
그렇게 단정할 수 없습니다. 이 도구의 누락은 사용자가 제공한 파일에서 ID를 찾지 못했다는 뜻입니다. 완료 상태와 다운로드한 전체 파일을 확인하세요.
실제 사용자 데이터를 업로드하나요?
아니요. 가상 예제 파일은 정적 공개 파일이고, 대조기는 브라우저 메모리에서만 처리하며 별도 파일 업로드 API를 사용하지 않습니다. 실제 토큰과 민감정보는 넣지 마세요.
이 페이지에서 광고가 자동 실행되나요?
아니요. 이 정보 가이드에서 별도로 명시적으로 광고를 허용해야 배너가 로드될 수 있습니다. 거부해도 예제와 무료 대조기를 사용할 수 있습니다.
실패 요청만 JSONL로 뽑아 재검토하기
위 가상 예제에서는 fictional-203만 명확하게 실패한 요청입니다. 기존 성공 2건과 제공 파일에서 찾지 못한 fictional-204는 자동 재실행 후보가 아닙니다.
무료 대조기에서 세 파일을 확인한 뒤, 실제 Batch 완료 상태·실패 원인·추가 요금과 중복 실행 위험을 직접 확인하고 체크박스를 선택하면, 명확히 실패한 원본 요청만 별도의 JSONL로 저장할 수 있습니다. 이 파일은 브라우저에서만 만들며 API에 자동 제출되지 않습니다. 파일에는 원본 프롬프트와 요청 본문이 포함될 수 있으므로 안전하게 보관하세요. 입력·결과에 구조 오류나 중복 매핑이 있으면 내보내지 않습니다.
실무 대용량 Batch JSONL: 8 MiB 웹 제한을 넘는 경우
공식 Batch API에서는 큰 입력 파일을 사용할 수 있습니다. 이 웹 대조기는 개인정보 보호와 브라우저 메모리 안전을 위해 파일당 8 MiB·25,000줄만 허용합니다. 더 큰 JSONL을 확인하려면 동일 개발자가 MIT 소스로 공개한 무료 Node.js 대용량 스트리밍 대조기 사용법과 테스트를 참고하세요. 사용자 PC에서 파일을 읽으며 서버 업로드·API 토큰·구독·광고가 없습니다.
git clone https://github.com/livastic-vm3-primary-tmp-260920/localdev-bench.git
cd localdev-bench
node extras/batch-jsonl-reconcile/cli.mjs \
--input /private/requests.jsonl \
--output /private/output.jsonl \
--errors /private/errors.jsonl \
--report-dir ./new-batch-review
위 경로는 가상 예시이므로 실제로 내려받은 입력/성공/오류 JSONL로 교체하세요. 오류 파일 또는 성공 파일이 없는 경우 해당 옵션은 생략할 수 있지만, 둘 다 없으면 결과를 추정하지 않습니다. 보고서 디렉터리는 새 이름으로 지정해야 하며 CSV 및 요약이 생성됩니다. 실제 완료·과금·전체 다운로드 여부는 직접 OpenAI Batch 객체를 확인해야 합니다. 실패 요청만 별도 파일로 저장하는 기능에는 비용·중복 실행 위험을 이해했음을 명시적으로 확인하는 옵션이 필요하고 원본 프롬프트가 포함될 수 있습니다.
선택형 광고로 무료 설명서 지원
아래 가이드 정보 페이지에 한해서 광고 허용을 선택하면 Adsterra 배너 한 개가 표시될 수 있습니다. 업체/파트너가 쿠키나 기기 정보를 처리할 수 있습니다. 거부해도 실습·다운로드·대조기 사용은 모두 무료입니다. 기존 홈페이지 광고 허용 선택은 이 가이드에 자동으로 적용되지 않습니다.
이 페이지는 OpenAI가 제공하거나 보증하는 공식 도구가 아닙니다. 사용자의 실제 데이터나 광고 수익을 수집·보장하지 않습니다.