Mettre en place des solutions de secours entre modèles
Pour garantir un service 24 h/24 et 7 j/7, TrailBlaze doit basculer vers un modèle plus léger lorsque Claude n’est pas disponible. Implémentez un repli de Claude vers Nova Text Lite en cas de problème, afin d’assurer la continuité du service de l’application de voyage.
Les bibliothèques json et boto3, ainsi que le client bedrock, sont préchargés.
Cet exercice fait partie du cours
Introduction à Amazon Bedrock
Instructions
- Encapsulez l’appel au modèle Claude principal dans un bloc
try. - Dans le bloc
except, gérez les erreurs avecClientErroret appelez le modèle Nova Text Lite.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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?"))