Создание асинхронного эндпоинта для анализа тональности
Вы разрабатываете платформу аналитики социальных сетей, которой необходимо определять тональность отзывов. Чтобы эффективно справляться с высокой нагрузкой, нужно реализовать async-эндпоинт. Модель анализа тональности уже загружена и доступна как sentiment_model.
Это упражнение является частью курса
Развёртывание ИИ в производственной среде с помощью 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"]}