
94
에이전트 시대의 AI 시스템 설계
response = client.models.generate_content(
model='gemini-2.0-flash',
contents=[f"이미지에 담긴 영수증을 파싱하세요.", image],
config={
'response_mime_type': 'application/json',
'response_schema': Receipt,
},
)
응답 자체는 여전히 문자열이며
JSON
형식이다. 데이터클래스 객체는
JSON
의 구조를 지정
하는 데만 쓰인다. 파이썬의
JSON
파싱 라이브러리를 사용하면 응답
JSON
텍스트를 파싱해
서 해당
dataclass
타입의 객체를 얻을 수 있다.
import json
data_obj = json.loads(
response.text,
object_hook=lambda args: Receipt(**args)
)
이 예에서 보듯이 파이썬 데이터클래스는 생성형
AI
모델 출력의 스타일을 유연하고도 강력하
게 제약하는 수단으로 유용하다. 이 옵션의 경우
로짓 마스킹
패턴을 적용해서 구조적 출력 기
능을 구현하는 것은 모델 제공자의 몫이다. 모델 제공자는 서버 측에서 스키마나 데이터클래스
를 적절한 규칙 또는 로직으로 변환해서 로짓들을 처리한다 (그림
2
-
4
).