Erstell einen Endpunkt für die asynchrone Sentimentanalyse.
Du baust eine Social-Media-Analyseplattform, die Bewertungen auf ihre Stimmung hin analysieren muss. Um viel Traffic effizient zu verarbeiten, musst du einen Endpunkt „ async
“ einrichten. Das Modell zur Stimmungsanalyse ist schon geladen und als „ sentiment_model
” verfügbar.
Diese Übung ist Teil des Kurses
KI mit FastAPI in die Produktion bringen
Anleitung zur Übung
- Erstell einen asynchronen POST-Endpunkt „
/analyze
” mit der FastAPI-App. - Füge das Schlüsselwort hinzu, um „
sentiment_model
“ asynchron aufzurufen, ohne andere Vorgänge zu blockieren. - Führ den „
sentiment_model
” in einem separaten Thread mit dem Text der Bewertung aus und pass auf, dass er die Ereignisschleife nicht blockiert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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"]}