AI-model laden bij serverstartup
Je gaat een getraind sentimentanalysemodel uitrollen dat helpt bij het modereren van gebruikersreacties. Om zero downtime te garanderen, moet de API direct na het starten klaar zijn om reacties te analyseren.
In deze oefening implementeer je de lifespan-events van FastAPI om je model efficiënt te laden voor het moderatiesysteem. De modelklasse SentimentAnalyzer is al gedefinieerd en voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
AI in productie brengen met FastAPI
Oefeninstructies
- Importeer de contextmanager-decorator uit de module
contextlibom het lifespan-event te maken. - Gebruik de contextmanager-decorator van FastAPI om de functie
lifespante definiëren, zodat het model bij startup wordt geladen. - Roep in het
lifespan-event de functie aan die het model bij startup laadt. - Gebruik
yieldzodat het serverlaadproces kan doorgaan.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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
____
____