ПочатиПочніть безкоштовно

Створіть асинхронний ендпоінт для аналізу тональності

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