НачатьНачать бесплатно

Создание асинхронного эндпоинта для анализа тональности

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