OpenAI 배치 API 응답 데이터의 구조는 어떻게 되나요?
_____답변:
OpenAI 배치 API의 응답 데이터는 여러 개의 요청에 대한 결과를 일괄로 포함하는 JSON 포맷으로 제공됩니다. 주요 구조는 다음과 같습니다:
1. 최상위 객체
- id : API 요청 고유 ID (예: "batch-req-abc123").
- object : 응답 객체 타입, 일반적으로 "list"로 표기.
- created : UNIX 타임스탬프, 응답 생성 시각.
- model : 사용된 모델 이름 (예: "gpt-4").
- choices : 각 개별 요청에 대한 결과 배열.
2. choices 배열 요소
각 배열 요소는 하나의 개별 요청에 대한 응답입니다.
- index : 배치 내 요청 순서(index)로, 요청한 순서와 일치.
- message : 생성된 텍스트나 응답 메시지 객체.
- role : "assistant" 등 역할 표시.
- content : 생성된 텍스트 내용.
- finish_reason : 응답 종료 이유 (예: "stop", "length").
- logprobs (선택 사항): 토큰별 로그 확률 정보.
3. usage 객체 (일부 응답에 포함)
- prompt_tokens : 요청에 사용된 토큰 수.
- completion_tokens : 응답 생성에 사용된 토큰 수.
- total_tokens : 총 사용 토큰 수.
---
예시
```json
{
"id": "batch-req-xyz123",
"object": "list",
"created": 1686000000,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "첫 번째 요청에 대한 응답 내용입니다."
},
"finish_reason": "stop"
},
{
"index": 1,
"message": {
"role": "assistant",
"content": "두 번째 요청에 대한 응답 내용입니다."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 120,
"completion_tokens": 80,
"total_tokens": 200
}
}
```
---
요약
- 배치 API 응답은 한 요청 내 여러 개의 결과를 `choices` 배열로 제공.
- 각 `choice`는 요청 순서(index), 메시지, 종료 사유를 포함.
- 최상위에는 요청 ID, 생성 시간, 모델 정보, 토큰 사용량 등이 포함돼 일괄 관리 및 추적에 유리.
이 구조를 이해하면 한 번의 호출로 다수 요청을 처리할 때 반환된 모든 결과를 명확히 파싱하고 활용할 수 있습니다.
작성자:
박채윤 [비회원]
| 작성일자: 1년 전
2024-09-19 10:15:48
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.