BaşlayınÜcretsiz başlayın

Hız sınırı (rate limit) yönetimini uygulama

AI destekli bir macera seyahati rezervasyon platformu olan TrailBlaze, yeni uçuş fırsatları çıktığında güzergâh sorularında büyük bir artış yaşıyor. Bedrock kısıtlamalarıyla başa çıkmak için üstel geri çekilme ekleyen bir yardımcı fonksiyon oluşturacaksın.

json, time ve boto3 kütüphaneleri önceden yüklendi. bedrock istemcisi ve model_id de önceden yüklendi.

Bu egzersiz, kursun bir parçasıdır

Amazon Bedrock'a Giriş

Kursa Göz Atın

Egzersiz talimatları

  • API istek dizesini prompt ile tamamla.
  • Üstel geri çekilmeyi uygula.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

def smart_retry(prompt, max_attempts=3):
  base_delay = 0.5
  
  for attempt in range(max_attempts):
    try:
      # Complete the API request string with the prompt
      response = bedrock.invoke_model(
        modelId=model_id,
        body=json.dumps({"anthropic_version": "bedrock-2023-05-31", "max_tokens": 100,
                         "messages": [{"role": "user", "content": [{"type": "text", "text": ____}]}]}))
      return json.loads(response["body"].read().decode())["content"][0]["text"]
    
    except Exception as e:
      if "ThrottlingException" in str(e):
        # Implement exponential backoff
        time.sleep(____)
      else: raise e
  return "Max retries exceeded"

print(smart_retry("Tell me about hiking in Patagonia."))
Kodu Düzenle ve Çalıştır