Crear un punto final de análisis de sentimiento asíncrono
Estás creando una plataforma de análisis de redes sociales que necesita analizar opiniones para determinar el sentimiento. Para gestionar el tráfico elevado de forma eficiente, debes implementar un punto final de enrutamiento de tráfico ( async
). El modelo de análisis de sentimientos 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 punto final POST asíncrono
/analyze
utilizando la aplicación FastAPI. - Añade la palabra clave para llamar a
sentiment_model
de forma asíncrona sin bloquear otras operaciones. - Ejecuta el bucle «
sentiment_model
» en un hilo separado con el texto de la reseña, asegurándote de que no bloquea el bucle de eventos.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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"]}