Crie um endpoint assíncrono de análise de sentimento
Você está criando uma plataforma de análise de mídias sociais que precisa analisar reviews para identificar o sentimento. Para lidar com alto tráfego de forma eficiente, você precisa implementar um endpoint async. O modelo de análise de sentimento já está carregado e disponível como sentiment_model.
Este exercício faz parte do curso
Colocando IA em Produção com FastAPI
Instruções do exercício
- Crie um endpoint POST assíncrono
/analyzeusando o app do FastAPI. - Adicione a palavra-chave para chamar o
sentiment_modelde forma assíncrona sem bloquear outras operações. - Execute o
sentiment_modelem uma thread separada com o texto da review, garantindo que ele não bloqueie o event loop.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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"]}