IniziaInizia gratis

Implementing model fallbacks

To guarantee 24/7 service, TrailBlaze needs to fall back to a lighter model when Claude is unavailable. Implement a fallback from Claude to Nova Text Lite when encountering issues, to ensure continuous service to the travel app.

The json and boto3 libraries, and the bedrock client, are preloaded.

Questo esercizio fa parte del corso

Introduction to Amazon Bedrock

Visualizza il corso

Istruzioni dell'esercizio

  • Wrap the primary Claude model call in a try block.
  • In the except block, handle errors using ClientError and call the Nova Text Lite model.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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?"))
Modifica ed esegui il codice