Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak een prompt die de toegestane categorieën uit de lijst categories noemt en het report bevat.
  • Voeg deze prompt toe aan de request body wanneer je het model aanroept.
  • Haal de samenvatting uit de response die 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)}")
Code bewerken en uitvoeren