CommencerCommencer gratuitement

Créer un endpoint asynchrone d’analyse de sentiment

Vous développez une plateforme d’analytique pour les réseaux sociaux qui doit analyser des avis afin d’en extraire le sentiment. Pour gérer une forte charge efficacement, vous devez implémenter un endpoint async. Le modèle d’analyse de sentiment est déjà chargé et disponible sous le nom sentiment_model.

Cet exercice fait partie du cours

Déployer l’IA en production avec FastAPI

Afficher le cours

Instructions

  • Créez un endpoint POST asynchrone /analyze avec l’application FastAPI.
  • Ajoutez le mot-clé permettant d’appeler sentiment_model de manière asynchrone sans bloquer les autres opérations.
  • Exécutez sentiment_model dans un thread séparé avec le texte de l’avis, afin de ne pas bloquer la boucle d’événements.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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"]}
Modifier et exécuter le code