Ładowanie modelu AI podczas uruchamiania serwera
Twoim zadaniem jest wdrożenie wytrenowanego modelu analizy wydźwięku, który wspomaga moderowanie komentarzy użytkowników. Aby zapewnić zerowy czas przestoju, API musi być gotowe do analizowania komentarzy natychmiast po uruchomieniu.
W tym ćwiczeniu zaimplementujesz zdarzenia cyklu życia FastAPI, aby efektywnie załadować model i zbudować system moderacji komentarzy. Klasa modelu SentimentAnalyzer jest już zdefiniowana i zaimportowana.
To ćwiczenie jest częścią kursu
Wdrażanie AI na produkcję z FastAPI
Instrukcje do ćwiczenia
- Zaimportuj dekorator menedżera kontekstu z modułu
contextlib, aby utworzyć zdarzenie cyklu życia. - Użyj dekoratora menedżera kontekstu FastAPI, aby zdefiniować funkcję zdarzenia
lifespani zapewnić załadowanie modelu podczas uruchamiania. - Wywołaj funkcję ładującą model podczas uruchamiania serwera w zdarzeniu
lifespan. - Wywołaj
yield, aby umożliwić kontynuowanie procesu uruchamiania serwera.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the context manager decorator from contextlib module
from contextlib import ____
sentiment_model = None
def load_model():
global sentiment_model
sentiment_model = SentmentAnalyzer("sentiment_model.joblib")
# Use FastAPI's context manager to define lifespan event
@____
def lifespan(app: FastAPI):
# Call the function to load the model
____
____