Creează un endpoint asincron pentru analiza sentimentelor
Construiești o platformă de analiză a rețelelor sociale care trebuie să analizeze recenzii din punct de vedere al sentimentelor. Pentru a gestiona eficient un trafic ridicat, trebuie să implementezi un endpoint async. Modelul de analiză a sentimentelor este deja încărcat și disponibil ca sentiment_model.
Acest exercițiu face parte din cursul
Deployment AI în producție cu FastAPI
Instrucțiuni pentru exercițiu
- Creează un endpoint POST asincron
/analyzefolosind aplicația FastAPI. - Adaugă cuvântul-cheie necesar pentru a apela
sentiment_modelîn mod asincron, fără a bloca alte operațiuni. - Rulează
sentiment_modelîntr-un fir de execuție separat cu textul recenziei, asigurându-te că nu blochează bucla de evenimente.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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"]}