LoslegenKostenlos loslegen

Kategorisierung von Foundation-Model-Berichten

Du arbeitest jetzt an einem KI-Feature, das hilft, Wetterbedingungen schnell zu erfassen. Statt lange Berichte zu lesen, möchten Nutzer:innen in ihrer SkyCast-Assistant-App eine einfache, einwortige Zusammenfassung sehen. Als Proof of Concept nutzt du Amazon Bedrock, um einen Wetterbericht auf ein einziges Wort aus einer vordefinierten Liste zu verdichten.

Die Bibliotheken boto3 und json wurden bereits geladen. Ein Beispiel-Wetterbericht als report und eine Liste gültiger categories wurden ebenfalls vorab geladen.

Diese Übung ist Teil des Kurses

Einführung in Amazon Bedrock

Kurs anzeigen

Anleitung zur Übung

  • Erstelle einen Prompt, der die erlaubten Kategorien aus der Liste categories nennt und den report enthält.
  • Füge diesen Prompt beim Aufruf des Modells dem Request-Body hinzu.
  • Extrahiere die Zusammenfassung aus der von Bedrock zurückgegebenen response.

Interaktive Übung

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

def summarize_weather(report):
    bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
    # Create prompt with allowed categories and pass in the report
    prompt = f"""Summarize the following weather report as one word from: {', '.join(____)}. Report: {____}"""
	# Pass the prompt to the body
    body = {"messages": [{"role": "user", "content": [{"text": ____}]}]}

    response = bedrock.invoke_model(modelId="amazon.nova-lite-v1:0", body=json.dumps(body))
    # Extract the summary from the response
    data = json.loads(response.get("body").read()____)
    return data["output"]["message"]["content"][0]["text"]

print(f"Weather Summary: {summarize_weather(report)}")
Code bearbeiten und ausführen