Kategorisierung von Berichten zu Fundamentaldaten
Du arbeitest gerade an einer KI-Funktion, die dabei hilft, Wetterbedingungen schnell zu verstehen. Anstatt lange Berichte zu lesen, wollen die Nutzer eine einfache, einwortige Zusammenfassung in ihrer SkyCast Assistant-App sehen. Um zu zeigen, dass es funktioniert, fasst du mit Amazon Bedrock einen Wetterbericht in einem Wort aus einer Liste zusammen.
Die Bibliotheken „ boto3 “ und „ json “ sind schon installiert. Ein Beispiel-Wetterbericht, gespeichert als „ report “, und eine Liste gültiger „ categories “ sind auch schon da.
Diese Übung ist Teil des Kurses
Einführung in Amazon Bedrock
Anleitung zur Übung
- Erstell eine Eingabeaufforderung, die die erlaubten Kategorien aus der Liste „
categories“ erwähnt und den Text „report“ enthält. - Füge diese Eingabeaufforderung zum Anfragetext hinzu, wenn du das Modell aufrufst.
- Hol die Zusammenfassung aus dem von Bedrock zurückgegebenen „
response“ raus.
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)}")