스트리밍(Streaming) 답변의 필연성
대용량 추론이나 장문의 코드를 응답받을 때, 전체 답변 생성이 완료될 때까지 10초 이상 기다리게 하면 유저는 답답함을 느끼고 이탈합니다.
generate_content(..., stream=True) 옵션을 사용하면 AI가 첫 단어를 생성하는 0.3초 만에 타자기(Typewriter) 효과처럼 실시간으로 결과를 화면에 출력할 수 있습니다.
Python 실시간 스트리밍 구현 코드
import google.generativeai as genai
genai.configure(api_key="YOUR_GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
prompt = "파이썬으로 구현하는 비동기 웹 크롤러 작성법을 단계별로 상술해줘."
# stream=True 옵션 설정
response = model.generate_content(prompt, stream=True)
# 텍스트 덩어리(Chunk)가 생성되는 즉시 화면 출력
for chunk in response:
print(chunk.text, end="", flush=True)
💡 핵심 Gemini AI 용어 사전 (Glossary)
- Streaming (스트리밍): AI 모델의 전체 생성이 끝나기를 기다리지 않고, 부분 결과 조각(Chunk)이 나오는 즉시 실시간으로 클라이언트에 전달하는 렌더링 기법.
- Chunk (데이터 조각): 스트리밍 과정에서 끊김 없이 연쇄적으로 전송되는 텍스트 및 데이터 토큰 덩어리.
- Typewriter Effect: 텍스트가 마치 타자기를 치듯 한 글자씩 실시간으로 화면에 찍히는 시각적 반응형 UX 효과.
스트리밍 체크리스트
- [ ] 백엔드 응답 API에
Server-Sent Events(SSE)또는stream=True가 적용되었는가? - [ ] 네트워크 스트리밍 도중 커넥션 끊김 예외처리가 수립되었는가?