JSON Mode — 가벼운 JSON 출력 활성화
JSON Mode
구조보다 '일단 유효한 JSON만 나오면 충분'한 경우엔 JSON Mode가 더 간단해요. 모델이 항상 유효한 JSON을 출력하도록 강제하지만, 특정 스키마 준수까지는 보장하지 않아요.
사용법
response = client.chat.completions.create(
model="gpt-4o",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "Return JSON."},
{"role": "user", "content": "Summarize in JSON."},
],
)
JSON mode 제약
- 시스템 메시지에 'JSON'이라는 단어를 포함해야 해요.
- 출력 토큰 제한이 있어 복잡한 스키마엔 부적합할 수 있어요.
- 스키마 준수가 필요하면 Structured Outputs를 쓰는 게 낫다.
정리
- 간단히: JSON Mode
- 신뢰성·스키마: Structured Outputs
이 두 가지를 상황에 맞게 나눠 쓰면, 출력 파싱 실패로 깨지던 파이프라인을 훨씬 안정적으로 만들 수 있어요.