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
Anleitung zur Übung
- Erstelle einen Prompt, der die erlaubten Kategorien aus der Liste
categoriesnennt und denreportenthä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)}")