Crea un endpoint asíncrono de análisis de sentimiento
Estás creando una plataforma de analítica de redes sociales que necesita analizar reseñas para detectar el sentimiento. Para gestionar mucho tráfico de forma eficiente, necesitas implementar un endpoint async. El modelo de análisis de sentimiento ya está cargado y disponible como sentiment_model.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Crea un endpoint POST asíncrono
/analyzeusando la app de FastAPI. - Añade la palabra clave para llamar a
sentiment_modelde forma asíncrona sin bloquear otras operaciones. - Ejecuta
sentiment_modelen un hilo separado con el texto de la reseña, asegurando que no bloquee el event loop.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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"]}