20줄을 덜어 주는 채팅
client.chats.create()는 대화 기록을 유지하는 채팅 세션을 반환해. send_message를 호출할 때마다 사용자 차례를 덧붙이고, 전체 기록으로 generate_content를 호출한 뒤 모델 답변도 덧붙여. 직접 20줄쯤 써서 같은 기능을 만들 수 있지만, 이 래퍼는 그 코드와 "모델 차례를 기록하는 걸 깜빡하는" 버그를 함께 없애 줘.
스트리밍 채팅도 있어
chat.send_message_stream(...)이 스트리밍 버전이야. 이터레이터 구조는 generate_content_stream과 같아.
디버깅할 때 대화 기록 살펴보기
chat.get_history()는 전체 대화를 list[Content]로 반환해. 출력하거나 저장하거나 이전 상태로 되돌릴 때 유용해.
오류는 세 단계의 클래스 계층으로 나뉘어
errors.APIError— 기반 클래스야. 하위 클래스를 구분할 필요가 없다면 이것을 잡아.errors.ClientError— 400, 401, 403, 404, 429 같은 4xx 오류야. 잘못된 요청·인증·호출 한도처럼 호출하는 쪽에서 고쳐야 해.errors.ServerError— 500, 503 같은 5xx 오류야. 서버 쪽 문제이므로 지수 백오프로 다시 시도해.
HTTP 상태 코드는 e.code, 사람이 읽을 메시지는 e.message에 있어.