Implementando modelos alternativos
Pra garantir o serviço 24 horas por dia, 7 dias por semana, a TrailBlaze precisa usar um modelo mais leve quando o Claude não estiver disponível. Implementar um plano alternativo do Claude para o Nova Text Lite quando rolar algum problema, pra garantir que o aplicativo de viagens continue funcionando direitinho.
As bibliotecas json
e boto3
, e o cliente bedrock
, já vêm instalados.
Este exercício faz parte do curso
Introdução ao Amazon Bedrock
Instruções do exercício
- Envolva a chamada do modelo Claude principal em um bloco
try
. - No bloco “
except
”, lida com os erros usando “ClientError
” e chama o modelo Nova Text Lite.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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?"))