이벤트 스트리밍
기본적으로 Responses API 호출 시 서버는 단일 HTTP 응답을 보내 전 모델의 전체 출력을 생성합니다. 매우 긴 출력을 생성해야 할 경우 사용자는 오랜 시간 동안 대기해야 합니다. 스트리밍 이벤트를 사용할 경우 모델이 전체 응답을 계속하여 생성하는 동안 클라이언트는 지속적으로 출력을 표시할 수 있습니다.
스트리밍 활성화
API 호출 시 stream 파라미터를 True로 설정할 경우 응답 데이터가 서버 전송 이벤트를 통해 생성되는 대로 클라이언트로 스트리밍됩니다.
curl https://.../v3/api/responses \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $KONANLLM_API_KEY" \
-d '{
"model": "Konan-LLM-ENT-11",
"messages": [
{
"role": "user",
"content": "안녕"
}
],
stream: true
}'
이벤트 참조
아래는 /api/responses 호출 시 발생할 수 있는 이벤트들에 대한 참조 표입니다.
진행 이벤트
| event | name | content |
|---|---|---|
| on_chat_model_start | - | |
| on_chat_model_stream | - | 모델이 스트리밍 중인 응답 메시지의 변경분 |
| on_chat_model_end | - | |
| on_chain_start | 체인명 | |
| on_chain_stream | 체인명 | 체인 발생 메시지 |
| on_chain_end | 체인명 | |
| on_tool_start | 도구명 | |
| on_tool_end | 도구명 | 도구 실행 결과 |
| on_custom_event | 체인명 | 체인 발생 메시지 |
종료 이벤트
| event | when |
|---|---|
| done | 이벤트 스트림 종료 |
| error | 오류 발생 |
각 이벤트 발생 시 전송되는 data에 대한 자세한 설명은 API 명세를 참고하세요.