モデルのフォールバックを実装する
24時間365日の稼働を保証するため、TrailBlaze では 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?"))