Categorisatie van foundation model-rapport
Je werkt nu aan een AI-functie die helpt om weersomstandigheden snel te begrijpen. In plaats van lange rapporten te lezen, willen gebruikers een eenvoudige samenvatting van één woord in hun SkyCast Assistant-app zien. Als proof of concept gebruik je Amazon Bedrock om een weerbericht samen te vatten tot één woord uit een vooraf gedefinieerde lijst.
De bibliotheken boto3 en json zijn al geladen. Een voorbeeld van een weerbericht, opgeslagen als report, en een lijst met geldige categories zijn ook al vooraf geladen.
Deze oefening maakt deel uit van de cursus
Introductie tot Amazon Bedrock
Oefeninstructies
- Maak een prompt die de toegestane categorieën uit de lijst
categoriesnoemt en hetreportbevat. - Voeg deze prompt toe aan de request body wanneer je het model aanroept.
- Haal de samenvatting uit de
responsedie door Bedrock wordt teruggegeven.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)}")