Implementowanie mechanizmu awaryjnego przełączania modeli
Aby zagwarantować dostępność usługi przez całą dobę, TrailBlaze potrzebuje możliwości przełączenia się na lżejszy model, gdy Claude jest niedostępny. Zaimplementuj mechanizm awaryjnego przełączania z Claude na Nova Text Lite w przypadku napotkania problemów – zapewni to ciągłość działania aplikacji turystycznej.
Biblioteki json i boto3 oraz klient bedrock są już wczytane.
To ćwiczenie jest częścią kursu
Wprowadzenie do Amazon Bedrock
Instrukcje do ćwiczenia
- Umieść główne wywołanie modelu Claude w bloku
try. - W bloku
exceptobsłuż błędy za pomocąClientErrori wywołaj model Nova Text Lite.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def process_with_fallback(prompt):
# Handle errors with a try-except block
____:
response = bedrock.invoke_model(
modelId="us.anthropic.claude-sonnet-4-5-20250929-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="us.amazon.nova-2-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?"))