Kategoryzacja raportu za pomocą modelu podstawowego
Pracujesz teraz nad funkcją AI, która pomaga szybko ocenić warunki pogodowe. Zamiast czytać długie raporty, użytkownicy chcą widzieć krótkie, jednowyrazowe podsumowanie w aplikacji SkyCast Assistant. Jako prototyp rozwiązania używasz Amazon Bedrock, aby skrócić raport pogodowy do jednego słowa z predefiniowanej listy.
Biblioteki boto3 i json zostały wcześniej załadowane. Przykładowy raport pogodowy zapisany jako report oraz lista dozwolonych kategorii categories są również dostępne.
To ćwiczenie jest częścią kursu
Wprowadzenie do Amazon Bedrock
Instrukcje do ćwiczenia
- Utwórz prompt, który wymienia dozwolone kategorie z listy
categoriesi zawiera treść zmiennejreport. - Dodaj ten prompt do treści żądania podczas wywoływania modelu.
- Wyodrębnij podsumowanie z odpowiedzi
responsezwróconej przez Bedrock.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)}")