एक async sentiment analysis एंडपॉइंट बनाएँ
आप एक सोशल मीडिया एनालिटिक्स प्लेटफ़ॉर्म बना रहे हैं जिसे रिव्यूज़ का sentiment विश्लेषण करना है. हाई ट्रैफ़िक को कुशलता से संभालने के लिए, आपको एक async एंडपॉइंट इम्प्लीमेंट करना होगा. sentiment analysis मॉडल पहले से लोड है और sentiment_model के रूप में उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
FastAPI के साथ प्रोडक्शन में AI डिप्लॉय करना
अभ्यास निर्देश
- FastAPI ऐप का उपयोग करके एक asynchronous POST एंडपॉइंट
/analyzeबनाएँ. - अन्य ऑपरेशंस को ब्लॉक किए बिना
sentiment_modelको asynchronous रूप से कॉल करने के लिए आवश्यक कीवर्ड जोड़ें. - इवेंट लूप को ब्लॉक होने से बचाने के लिए रिव्यू के टेक्स्ट के साथ
sentiment_modelको एक अलग थ्रेड में चलाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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"]}