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ş
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."))