컨텐츠로 건너뛰기
主站 新闻 控制台

응답 데이터 처리

이 페이지에서는 4ALL API가 반환하는 응답 데이터를 올바르게 파싱하는 방법을 설명하며, Chat Completions를 통해 호출되는 모든 모델에 적용됩니다.

비스트리밍 응답 구조

{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 46,
"total_tokens": 58
}
}

finish_reason 처리

의미권장 처리 방법
stop정상 종료그대로 사용
lengthmax_tokens 한도에 도달하여 잘림max_tokens를 높이거나 분할하여 이어쓰기
tool_calls모델이 함수 호출을 요청함함수 실행 후 결과를 반환, FC 함수 호출 참조
content_filter업스트림 안전 정책에 의해 콘텐츠가 차단됨프롬프트 수정

usage 사용량 필드

  • usage는 정산의 근거입니다: 요금은 prompt_tokens / completion_tokens에 따라 각각 청구됩니다;
  • 스트리밍 호출의 마지막 데이터 청크에도 동일하게 usage가 포함됩니다(스트리밍 출력 참조);
  • 프롬프트 캐시가 적중된 경우, prompt_tokens_details.cached_tokens에 캐시된 부분이 표시되며, 캐시 요율로 청구됩니다. 캐시 요금 참조.

파싱 권장 사항

  • 항상 choices[0].message.content를 읽으며, choices의 길이가 1보다 크다고 가정하지 마십시오;
  • 추론 모델(-thinking 등급)은 reasoning_content 필드가 추가로 포함될 수 있으므로, 표시 시 본문과 구분하여 처리하십시오. 추론 모델 출력 참조;
  • 오류 발생 시 응답은 {"error": {...}} 구조이며, 처리 방법은 오류 코드 및 재시도를 참조하십시오.