LoslegenKostenlos loslegen

Implementierung der Begrenzung der Verarbeitungsrate

TrailBlaze, eine KI-gesteuerte Buchungsplattform für Abenteuerreisen, hat kürzlich einen Chat-Assistenten entwickelt, der bei neuen Flugangeboten mit einer Flut von Fragen zur Reiseroute konfrontiert wird. Du wirst eine Hilfsfunktion erstellen, die mit der Drosselung von Bedrock umgeht, indem du ein exponentielles Backoff hinzufügst.

Die Bibliotheken „ json “, „ time “ und „ boto3 “ sind schon installiert. Der Client „ bedrock “ und „ model_id “ sind auch schon installiert.

Diese Übung ist Teil des Kurses

Einführung in Amazon Bedrock

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die API-Anfragezeichenfolge mit der Eingabeaufforderung.
  • Exponentielles Backoff implementieren.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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."))
Code bearbeiten und ausführen