開始使用免費開始

實作模型備援機制

為了確保 24/7 不中斷服務,TrailBlaze 需要在 Claude 無法使用時,退回改用較輕量的模型。請在遇到問題時,從 Claude 切換為 Nova Text Lite,以維持旅遊應用程式的連續服務。

jsonboto3 函式庫,以及 bedrock 用戶端,皆已預先載入。

本練習屬於課程

Amazon Bedrock 入門

檢視課程

練習說明

  • 將主要的 Claude 模型呼叫包在 try 區塊中。
  • except 區塊中,使用 ClientError 處理錯誤,並改為呼叫 Nova Text Lite 模型。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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?"))
編輯並執行程式碼