Aan de slagGa gratis aan de slag

Fallbacks voor modellen implementeren

Om 24/7 service te garanderen, moet TrailBlaze terugvallen op een lichter model wanneer Claude niet beschikbaar is. Implementeer een fallback van Claude naar Nova Text Lite bij problemen, zodat de reisapp door blijft draaien.

De libraries json en boto3, en de bedrock-client zijn al geladen.

Deze oefening maakt deel uit van de cursus

Introductie tot Amazon Bedrock

Cursus bekijken

Oefeninstructies

  • Zet de primaire aanroep van het Claude-model in een try-blok.
  • Handel in het except-blok fouten af met ClientError en roep het Nova Text Lite-model aan.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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?"))
Code bewerken en uitvoeren