Implementación de modelos alternativos
Para garantizar un servicio 24 horas al día, 7 días a la semana, TrailBlaze necesita recurrir a un modelo más ligero cuando Claude no está disponible. Implementar una solución alternativa de Claude a Nova Text Lite cuando surjan problemas, para garantizar la continuidad del servicio de la aplicación de viajes.
Las bibliotecas json
y boto3
, así como el cliente bedrock
, vienen precargados.
Este ejercicio forma parte del curso
Introducción a Amazon Bedrock
Instrucciones del ejercicio
- Envuelve la llamada al modelo Claude principal en un bloque «
try
». - En el bloque «
except
», gestiona los errores utilizando «ClientError
» y llama al modelo Nova Text Lite.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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?"))