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 merupakan bagian dari kursus
Pengantar Amazon Bedrock
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)}")