모델 폴백 구현하기
24/7 서비스를 보장하려면 Claude를 사용할 수 없는 경우 더 가벼운 모델로 폴백해야 해요. 문제가 발생하면 Claude에서 Nova Text Lite로 폴백해 여행 앱의 서비스가 중단되지 않도록 구현하세요.
json과 boto3 라이브러리, 그리고 bedrock 클라이언트는 미리 로드되어 있어요.
이 연습은 강의의 일부입니다
Amazon Bedrock 입문
연습 안내
- 기본 Claude 모델 호출을
try블록으로 감싸세요. except블록에서ClientError를 처리하고 Nova Text Lite 모델을 호출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def process_with_fallback(prompt):
# Handle errors with a try-except block
____:
response = bedrock.invoke_model(
modelId="us.anthropic.claude-sonnet-4-5-20250929-v1:0",
body=json.dumps({"anthropic_version": "bedrock-2023-05-31", "max_tokens": 100,
"messages": [{"role": "user", "content": [{"type": "text", "text": prompt}]}]}))
return json.loads(response["body"].read().decode())["content"][0]["text"]
except ____:
fallback = bedrock.invoke_model(
modelId="us.amazon.nova-2-lite-v1:0",
body=json.dumps({"messages": [{"role": "user", "content": [{"text": prompt}]}]}))
return json.loads(fallback["body"].read().decode())["output"]["message"]["content"][0]["text"]
print(process_with_fallback("What are the best destinations in Australia for kayaking?"))