Erstelle einen asynchronen Sentiment-Analyse-Endpunkt
Du baust eine Plattform für Social-Media-Analysen, die Rezensionen auf ihre Stimmung analysieren soll. Um hohen Traffic effizient zu bewältigen, musst du einen async Endpunkt implementieren. Das Sentiment-Analysemodell ist bereits geladen und als sentiment_model verfügbar.
Diese Übung ist Teil des Kurses
KI in der Produktion mit FastAPI bereitstellen
Anleitung zur Übung
- Erstelle einen asynchronen POST-Endpunkt
/analyzemit der FastAPI-App. - Füge das Schlüsselwort hinzu, um
sentiment_modelasynchron aufzurufen, ohne andere Vorgänge zu blockieren. - Führe
sentiment_modelmit dem Text der Rezension in einem separaten Thread aus, damit die Event-Loop nicht blockiert wird.
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"]}