스트리밍 출력
Server-Sent Events (SSE) 스트리밍 출력을 사용하면 AI 응답이 타자기처럼 한 글자씩 반환되어 사용자 경험이 향상됩니다. 이 페이지에서는 스트리밍 출력을 활성화하고, SSE 데이터 청크를 파싱하며, 스트리밍 연결을 처리하는 방법을 설명합니다. 채팅 대화, 콘텐츠 생성 등의 시나리오에 적합합니다.
스트리밍을 사용하는 이유
- 대규모 언어 모델의 응답이 느려 사용자가 즉각적인 피드백을 필요로 합니다
- ChatGPT와 같은 타자기 효과를 제공합니다
- 사용자 경험을 향상합니다
스트리밍 출력 활성화
요청에서 "stream": true를 설정합니다.
from openai import OpenAI
client = OpenAI(
api_key="sk-xxx",
base_url="https://api.onemux.net/v1"
)
response = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{"role": "user", "content": "시 한 편 쓰기"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")SSE 응답 형식
스트리밍 응답은 Server-Sent Events (SSE) 형식을 사용하며, 각 데이터 청크는 data:로 시작합니다.
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"안녕"}}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"하세요"}}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"!"}}]}
data: [DONE]