Categorizarea rapoartelor cu un model de bază
Lucrezi acum la o funcționalitate AI care ajută utilizatorii să înțeleagă rapid condițiile meteorologice. În loc să citească rapoarte lungi, aceștia vor să vadă un rezumat de un singur cuvânt în aplicația SkyCast Assistant. Ca dovadă de concept, folosești Amazon Bedrock pentru a sintetiza un raport meteo într-un singur cuvânt dintr-o listă predefinită.
Bibliotecile boto3 și json au fost preîncărcate. Un raport meteo exemplu salvat ca report și o listă de categories valide au fost, de asemenea, preîncărcate.
Acest exercițiu face parte din cursul
Introducere în Amazon Bedrock
Instrucțiuni pentru exercițiu
- Creează un prompt care menționează categoriile permise din lista
categoriesși includereport. - Adaugă acest prompt în corpul cererii când invoci modelul.
- Extrage rezumatul din
response-ul returnat de Bedrock.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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="us.amazon.nova-2-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)}")