Hintergrundaufgaben machen
Deine API zur Sentimentanalyse bekommt Anfragen, um hunderte Bewertungen auf einmal zu verarbeiten. Um das effizient zu machen, ohne dass die Nutzer warten müssen, solltest du eine Hintergrundverarbeitung für Aufgaben einrichten, damit die Anfragen bearbeitet werden, nachdem eine Antwort an den Client gesendet wurde.
Diese Übung ist Teil des Kurses
KI mit FastAPI in die Produktion bringen
Anleitung zur Übung
- Importiere die Hintergrundaufgabenklasse aus „
fastapi
“. - Deklarier den Parameter „
background_tasks
“, um die Anfrage als im Hintergrund laufende Aufgabe zu bearbeiten. - Plan die Aufgabe zum Analysieren von Bewertungstexten mit der Funktion „
process_reviews
”.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import the background task class
from fastapi import ____
# Create a background task dependency
@app.post("/analyze_batch")
async def analyze_batch(
reviews: Reviews,
background_tasks: ____
):
async def process_reviews(texts: List[str]):
for text in texts:
result = await asyncio.to_thread(sentiment_model, text)
print(f"Processed: {result[0]['label']}")
# Add the task of analysing reviews' texts to the background
background_tasks.____(process_reviews, reviews.texts)
return {"message": "Processing started"}