GloopAPI 연동 가이드
스트리밍 응답
스트리밍 이벤트와 종료 신호를 처리합니다.
스트리밍은 모델 권한이나 요금을 바꾸지 않고 출력을 나누어 전달합니다. stream: true를 설정하고 text/event-stream을 처리하세요. 전체 응답을 하나의 JSON 문서로 해석하면 안 됩니다.
Responses는 response.output_text.delta 및 response.completed와 같이 유형이 있는 이벤트를 사용합니다. 유형에 따라 각 이벤트를 처리하세요.
프로토콜별 파싱
Chat Completions의 SSE data에는 JSON 청크가 들어 있습니다. 텍스트는 보통 choices[].delta에 나타나며 도구 호출도 여러 조각으로 나뉠 수 있습니다. data: [DONE]은 프로토콜 종료를 표시합니다. stream_options.include_usage를 요청하면 choices가 비어 있는 최종 사용량 청크가 올 수 있습니다. 사용량이 없다고 무료로 해석해서는 안 됩니다.
네트워크 경계
네트워크 바이트 청크는 이벤트가 아닙니다. 빈 줄 구분자까지 버퍼링하고 여러 줄의 data를 합친 뒤 JSON을 파싱하세요. 청크 사이에 나뉜 UTF-8 문자, 빈 줄, 주석과 서비스 오류 이벤트를 처리하세요. 엔드포인트 페이지 오른쪽 예제에서 프로토콜의 이벤트 형태를 확인할 수 있습니다.
연결이 끊기거나 종료 이벤트가 없으면 출력을 미완료로 표시하고 이미 표시된 텍스트와 요청 진단 정보를 보존하세요. 연결 종료는 서비스 미실행이나 환불을 보장하지 않습니다. 확인되지 않은 동기 텍스트 요청에는 영구 보관 작업 복구 계약이 없으므로 자동 재전송하지 마세요.
사용량과 후속 처리
정상 종료 후에만 완전한 결과를 확정하세요. 최종 요금은 플랫폼 사용 기록을 기준으로 하며 로컬 청크 수로 추정할 수 없습니다. HTTP 200 이후 스트림에서 오류가 보고되면 최초 상태만 보지 말고 프로토콜 오류로 처리하세요. 후속 판단은 오류 처리와 요금을 참고하세요.