การจัดหมวดหมู่รายงานด้วย Foundation Model
ตอนนี้คุณกำลังพัฒนาฟีเจอร์ AI ที่ช่วยให้เข้าใจสภาพอากาศได้อย่างรวดเร็ว แทนที่จะอ่านรายงานยาว ๆ ผู้ใช้ต้องการเห็นสรุปเพียงคำเดียวบนแอป SkyCast Assistant เพื่อทดสอบแนวคิดนี้ คุณจะใช้ Amazon Bedrock สรุปรายงานสภาพอากาศให้เหลือเพียงคำเดียวจากรายการที่กำหนดไว้
ไลบรารี boto3 และ json ถูกโหลดไว้แล้ว พร้อมกับตัวอย่างรายงานสภาพอากาศที่บันทึกไว้ในตัวแปร report และรายการหมวดหมู่ที่ใช้ได้ในตัวแปร categories
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Amazon Bedrock เบื้องต้น
คำแนะนำการฝึกหัด
- สร้างพรอมต์ที่ระบุหมวดหมู่ที่อนุญาตจาก
categoriesและรวมreportเข้าไปด้วย - เพิ่มพรอมต์นี้ลงใน request body เมื่อเรียกใช้โมเดล
- ดึงผลสรุปออกจาก
responseที่ได้รับจาก Bedrock
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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)}")