API 응답과 오류 처리

Amazon Bedrock 입문

Nikhil Rangarajan

Data Scientist

요율 제한 관리

  • 지수 백오프 전략 구현
  • 스마트 재시도로 API 사용 최적화
def backoff_retry(max_retries=3, 
                  init_delay=1):

for attempt in range(max_retries): try: response = bedrock.invoke_model()
# Retries when we have an exception except Exception as e: if "ThrottlingException" in str(e): # Exponential backoff time.sleep(base_delay * (2 ** attempt))
Amazon Bedrock 입문

배치 응답 처리

  • 여러 요청을 효율적으로 처리
  • 배치 응답을 안전하게 처리
  • 최적 성능 유지
def process_batch(prompts, batch=5):
  results = []
  for i in range(0, len(prompts), 
                 batch):
    responses = [invoke_model(p) for p 
                 in prompts[i:i+batch]]
Amazon Bedrock 입문

응답 후처리

  • 응답 구조 검증
  • 본문 로드 및 파싱
  • 예상 키 확인
  • 데이터 품질 일관성 보장
def postprocess_response(response):

data=json.loads(response['body'] .read())
if 'content' in data: return data['content'].strip()
return None
Amazon Bedrock 입문

오류 복구

  • 폴백 전략 구현: 기본 모델 장애 시 백업 계획
  • 모델별 오류 처리
  • 프로덕션 수준의 안정성 확보
try:
    response = bedrock.invoke_model(modelId="anthropic.claude-3-5-sonnet-v2:0", 
        body=json.dumps(request_body))

except ClientError: response = bedrock.invoke_model(modelId="amazon.nova-lite-v1:0")
Amazon Bedrock 입문

연습해 봅시다!

Amazon Bedrock 입문

Preparing Video For Download...