Memuat model terlatih

Menerapkan AI ke Produksi dengan FastAPI

Matt Eckerle

Software and Data Engineering Leader

Struktur saat ini

Bagan alur prediksi ML dengan FastAPI

Menerapkan AI ke Produksi dengan FastAPI

Tantangan saat memuat model

Diagram yang menjelaskan siklus hidup request/response

Seorang pria frustrasi menunggu respons API

Menerapkan AI ke Produksi dengan FastAPI

Muat model sebelum request

Bagan alur prediksi ML dengan FastAPI

Menerapkan AI ke Produksi dengan FastAPI

Memuat model

from fastapi import FastAPI
sentiment_model = None
def load_model():
    global sentiment_model
    sentiment_model = SentimentAnalyzer("trained_model.joblib")
    print("Model loaded successfully")
load_model()
Model loaded successfully
Menerapkan AI ke Produksi dengan FastAPI

Event lifespan FastAPI

Diagram alur yang menjelaskan lifespan FastAPI

Menerapkan AI ke Produksi dengan FastAPI

Event lifespan FastAPI

from contextlib import asynccontextmanager
@asynccontextmanager
async def lifespan(app: FastAPI):
    # Startup: Load the ML model
    load_model()
    yield
app = FastAPI(lifespan=lifespan)
Menerapkan AI ke Produksi dengan FastAPI

Pemeriksaan kesehatan

 

@app.get("/health")
def health_check():
    if sentiment_model is not None:
        return {"status": "healthy", 
                "model_loaded": True}
    return {"status": "unhealthy", 
            "model_loaded": False}

Perintah curl:

curl -X GET \
  "http://localhost:8080/health" \
  -H "accept: application/json"

Output:

{
  "status": "healthy",
  "model_loaded": true
}
Menerapkan AI ke Produksi dengan FastAPI

Ayo berlatih!

Menerapkan AI ke Produksi dengan FastAPI

Preparing Video For Download...