IniziaInizia gratis

Implementare i fallback di modello

Per garantire un servizio 24/7, TrailBlaze deve effettuare il fallback a un modello più leggero quando Claude non è disponibile. Implementa un fallback da Claude a Nova Text Lite in caso di problemi, così da assicurare un servizio continuo all'app di viaggi.

Le librerie json e boto3, e il client bedrock, sono già caricati.

Questo esercizio fa parte del corso

Introduzione ad Amazon Bedrock

Visualizza il corso

Istruzioni dell'esercizio

  • Incapsula la chiamata al modello principale Claude in un blocco try.
  • Nel blocco except, gestisci gli errori con ClientError e invoca il modello Nova Text Lite.

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