เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้าง async endpoint สำหรับวิเคราะห์ความรู้สึก

คุณกำลังสร้างแพลตฟอร์มวิเคราะห์โซเชียลมีเดียที่ต้องวิเคราะห์ความรู้สึกจากรีวิว เพื่อรองรับปริมาณการใช้งานสูงได้อย่างมีประสิทธิภาพ จึงต้องสร้าง endpoint แบบ async โดยโมเดลวิเคราะห์ความรู้สึกโหลดไว้แล้วและพร้อมใช้งานในชื่อ sentiment_model

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การ Deploy AI สู่ Production ด้วย FastAPI

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง POST endpoint แบบ asynchronous ที่เส้นทาง /analyze โดยใช้ FastAPI app
  • เพิ่ม keyword สำหรับเรียกใช้ sentiment_model แบบ asynchronous เพื่อไม่ให้บล็อกการทำงานอื่น
  • รัน sentiment_model ในเธรดแยกต่างหากพร้อมส่งข้อความจากรีวิว เพื่อป้องกันไม่ให้บล็อก event loop

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Review(BaseModel):
    text: str

# Create async endpoint at /analyze route
@app.post("____")
# Write an asynchronous function to process review's text
____ def analyze_review(review: Review):
    # Run the model in a separate thread to avoid any event loop blockage
    result = ____ asyncio.____(sentiment_model, ____)
    return {"sentiment": result[0]["label"]}
แก้ไขและรันโค้ด