Chat 은 generate_content 의 얇은 wrapper
client.chats.create() 가 history 유지하는 chat session 반환. 각 send_message 는 user turn append, full history 로 generate_content 호출, 모델 답변 append. 너가 직접 20 줄로 같은 거 짤 수 있어 — wrapper 는 그 20 줄과 "모델 turn append 까먹는" 버그 절약.
Streaming chat 도 있어
chat.send_message_stream(...) 가 streaming variant. generate_content_stream 과 같은 iterator 모양.
디버깅할 때 history 검사
chat.get_history() 가 full conversation 을 list[Content] 로 반환. print, persist, rewind 할 때 유용.
에러는 세 클래스 hierarchy
errors.APIError— base class. sub-class 신경 안 쓰면 catch.errors.ClientError— 4xx (400, 401, 403, 404, 429). 너 잘못: bad request, bad auth, rate limit.errors.ServerError— 5xx (500, 503). 그쪽 잘못: backoff 으로 retry.
HTTP status 는 e.code; 사람 읽을 메시지는 e.message.