Zacznij terazZacznij za darmo

Tworzenie asynchronicznego endpointu do analizy sentymentu

Tworzysz platformę do analityki mediów społecznościowych, która musi analizować recenzje pod kątem sentymentu. Aby sprawnie obsługiwać duże natężenie ruchu, musisz zaimplementować asynchroniczny endpoint. Model do analizy sentymentu jest już załadowany i dostępny jako sentiment_model.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz asynchroniczny endpoint POST /analyze przy użyciu aplikacji FastAPI.
  • Dodaj słowo kluczowe, które pozwoli wywoływać sentiment_model asynchronicznie, bez blokowania innych operacji.
  • Uruchom sentiment_model w osobnym wątku z tekstem recenzji, tak aby nie blokować pętli zdarzeń.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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"]}
Edytuj i uruchom kod