Kategorisasi laporan model dasar
Sekarang Anda mengerjakan fitur AI yang membantu memahami kondisi cuaca dengan cepat. Alih-alih membaca laporan panjang, pengguna menginginkan ringkasan sederhana satu kata yang muncul di aplikasi SkyCast Assistant mereka. Sebagai bukti konsep, Anda menggunakan Amazon Bedrock untuk meringkas sebuah laporan cuaca menjadi satu kata dari daftar yang telah ditentukan.
Pustaka boto3 dan json telah dimuat sebelumnya. Contoh laporan cuaca disimpan sebagai report dan daftar categories yang valid juga telah dimuat sebelumnya.
Latihan ini adalah bagian dari kursus
Pengantar Amazon Bedrock
Petunjuk latihan
- Buat prompt yang menyebutkan kategori yang diizinkan dari daftar
categoriesdan menyertakanreport. - Tambahkan prompt ini ke badan permintaan saat memanggil model.
- Ekstrak ringkasan dari
responseyang dikembalikan oleh Bedrock.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)}")