开始使用免费开始使用

实现模型回退机制

为保障 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?"))
编辑并运行代码