CommencerCommencer gratuitement

Créer un point de terminaison d'analyse de sentiment asynchrone

Vous développez une plateforme d'analyse des réseaux sociaux qui doit analyser les avis pour en déterminer le sentiment. Pour gérer efficacement un trafic important, il est nécessaire de mettre en place un point de terminaison d'async. Le modèle d'analyse des sentiments est déjà chargé et disponible à l'adresse sentiment_model.

Cet exercice fait partie du cours

Déployer l'IA en production avec FastAPI

Afficher le cours

Instructions

  • Créez un point de terminaison POST asynchrone /analyze à l'aide de l'application FastAPI.
  • Ajoutez le mot-clé pour appeler l'sentiment_model e de manière asynchrone sans bloquer les autres opérations.
  • Exécutez l'sentiment_model dans un thread séparé avec le texte de l'avis, en veillant à ce qu'il ne bloque pas 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