Implementera modell-fallback
För att garantera dygnet-runt-tjänst behöver TrailBlaze växla till en lättare modell när Claude inte är tillgänglig. Implementera en fallback från Claude till Nova Text Lite vid problem, för att säkerställa kontinuerlig service till reseappen.
Biblioteken json och boto3, samt bedrock-klienten, är förinstallerade.
Den här övningen är en del av kursen
Introduktion till Amazon Bedrock
Övningsinstruktioner
- Omslut det primära anropet till Claude-modellen i ett
try-block. - Hantera fel med
ClientErroriexcept-blocket och anropa Nova Text Lite-modellen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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?"))