GET endpoint สำหรับข้อมูลโมเดล
คุณเป็นส่วนหนึ่งของทีม machine learning ที่พัฒนาโมเดลหลายตัว แต่ละตัวออกแบบมาสำหรับงานที่แตกต่างกัน เช่น การวิเคราะห์ความรู้สึก การจัดหมวดหมู่สินค้า และการทำนายการเลิกใช้บริการของลูกค้า ขณะนี้กำลังดำเนินการ deploy โมเดลเหล่านี้ และจำเป็นต้องสร้าง endpoint ที่แสดงข้อมูลพื้นฐานของแต่ละโมเดล
โจทย์คือให้สร้าง GET endpoint ที่เส้นทาง /model-info/{model_id} เพื่อดึงและส่งคืนข้อมูลสำคัญของโมเดลนั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การ Deploy AI สู่ Production ด้วย FastAPI
คำแนะนำการฝึกหัด
- สร้าง
GETendpoint ที่"/model-info/{model_id}"เพื่อส่งคืนข้อมูลของโมเดลที่ระบุ - endpoint ควรรับ
model_idเป็นพารามิเตอร์ path - หาก
model_idมีค่าเป็น0ให้ raiseHTTPExceptionพร้อมสถานะโค้ด404เพื่อระบุว่าไม่พบโมเดลดังกล่าว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from fastapi import FastAPI, HTTPException
app = FastAPI()
# Add model_id as a path parameter in the route
@app.get("/model-info/{____}")
# Pass on the model id as an argument
async def get_model_info(____: int):
if model_id == 0:
# Raise the right status code for not found
raise HTTPException(status_code=____, detail="Model not found")
model_info = get_model_details(id)
return {"model_id": model_id, "model_name": model_info}