Fallbacks voor modellen implementeren
Om 24/7 service te garanderen, moet TrailBlaze terugvallen op een lichter model wanneer Claude niet beschikbaar is. Implementeer een fallback van Claude naar Nova Text Lite bij problemen, zodat de reisapp door blijft draaien.
De libraries json en boto3, en de bedrock-client zijn al geladen.
Deze oefening maakt deel uit van de cursus
Introductie tot Amazon Bedrock
Oefeninstructies
- Zet de primaire aanroep van het Claude-model in een
try-blok. - Handel in het
except-blok fouten af metClientErroren roep het Nova Text Lite-model aan.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
def process_with_fallback(prompt):
# Handle errors with a try-except block
____:
response = bedrock.invoke_model(
modelId="anthropic.claude-3-5-sonnet-20240620-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="amazon.nova-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?"))