การเพิ่ม endpoint เวอร์ชันใหม่
ลูกค้าของ API จำแนกประเภทเพนกวินได้ขอให้เพิ่ม endpoint ที่รับข้อมูลในรูปแบบสตริงคั่นด้วยช่องว่าง แทนที่จะเป็น JSON dictionary คุณต้องเพิ่ม schema และ endpoint เวอร์ชัน "v2" เข้าไปใน app เพื่อรองรับรูปแบบ input ใหม่นี้
instance ของ FastAPI ชื่อ app และคลาส PenguinV1 ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การ Deploy AI สู่ Production ด้วย FastAPI
คำแนะนำการฝึกหัด
- เพิ่ม Pydantic model ชื่อ
PenguinV2ที่รับพารามิเตอร์dataเป็นสตริง - เพิ่ม endpoint ตัวจำแนกเพนกวินเวอร์ชัน v2 ที่
/v2/penguin_classifier - ใช้ model เวอร์ชัน v2 เป็น input สำหรับ endpoint เวอร์ชัน v2
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Add v2 model
class ____(BaseModel):
data: str
@app.post("/v1/penguin_classifier")
def classify_penguin_v1(penguin: PenguinV1):
values = list(penguin.model_dump().values())
result = classifier.predict([values])[0]
return result
# Add v2 endpoint
@app.post("____")
# Use v2 model
def classify_penguin_v2(penguin: ____):
values = penguin.data.split()
result = classifier.predict([values])[0]
return result