Створіть асинхронний ендпоінт для аналізу тональності
Ви створюєте платформу аналітики для соціальних мереж, яка має визначати тональність відгуків. Щоб ефективно обробляти великий трафік, потрібно реалізувати async-ендпоінт. Модель для аналізу тональності вже завантажена й доступна як sentiment_model.
Ця вправа є частиною курсу
Розгортання AI у продакшні з FastAPI
Інструкції до вправи
- Створіть асинхронний POST-ендпоінт
/analyzeза допомогою застосунку FastAPI. - Додайте ключове слово, щоб викликати
sentiment_modelасинхронно, не блокуючи інші операції. - Запустіть
sentiment_modelв окремому потоці з текстом відгуку, щоб він не блокував цикл подій.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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"]}