Crie um endpoint de análise de sentimentos assíncrono
Você tá criando uma plataforma de análise de redes sociais que precisa analisar comentários pra ver o sentimento das pessoas. Para lidar com o tráfego intenso de forma eficiente, você precisa implementar um endpoint de alta disponibilidade ( async
). O modelo de análise de sentimentos já está carregado e disponível como sentiment_model
.
Este exercício faz parte do curso
Implementando IA na produção com FastAPI
Instruções do exercício
- Crie um endpoint POST assíncrono
/analyze
usando o aplicativo FastAPI. - Adicione a palavra-chave para chamar o
sentiment_model
de forma assíncrona, sem bloquear outras operações. - Execute o
sentiment_model
em uma thread separada com o texto da revisão, garantindo que ele não bloqueie o loop de eventos.
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"]}