OpenAI Streaming — stream=true로 SSE 이벤트 받기

OpenAI Streaming — stream=true로 SSE 이벤트 받기

기본적으로 OpenAI API는 전체 출력이 완성된 뒤 한 번의 HTTP 응답으로 보내요. stream=true 를 주면 생성이 진행되는 동안 서버가 보내는 이벤트(SSE) 로 앞부분부터 받기 시작해요.

켜는 방법

from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
    model="gpt-5.5",
    input=[{"role": "user", "content": "Say 'double bubble bath' ten times fast."}],
    stream=True,
)
for event in stream:
    print(event)

시맨틱 이벤트

Responses API의 스트리밍은 의미론적(semantic) 이벤트를 써요. 대표 이벤트는:

  • response.created — 응답이 시작됨.
  • response.output_text.delta — 텍스트 델타(증분).
  • response.completed — 응답 완료.
  • error — 오류 발생.

원하는 이벤트만 골라 들을 수 있어요.

고급 활용

스트리밍된 도구 호출(Streaming function calls)이나 스트리밍 구조화 출력(Streaming structured output) 같은 전용 가이드도 제공돼요. 상태 관리가 중요한 에이전트 워크플로에서도 유용해요.

더 알아보기