Modellen Aanbieden met FastAPI
Wanneer u uw machine learning-model beschikbaar wilt maken voor gebruik door andere applicaties of gebruikers, is het aanbieden als een webservice een gangbare en praktische oplossing. FastAPI is een modern Python-webframework waarmee u snel REST API's kunt bouwen, waardoor het een uitstekende keuze is voor het aanbieden van machine learning-modellen. Met FastAPI kunt u een getraind model beschikbaar stellen via HTTP-endpoints, zodat voorspellingen vanaf elke locatie kunnen worden aangevraagd, met elk programma of hulpmiddel dat webverzoeken kan uitvoeren.
De gebruikelijke workflow voor het aanbieden van een ML-model met FastAPI omvat verschillende stappen:
- Train en serialiseer uw model met een bibliotheek zoals scikit-learn;
- Maak een FastAPI-app die het opgeslagen model bij het opstarten laadt;
- Definieer een endpoint (zoals
/predict) dat invoergegevens accepteert, inferentie uitvoert en de voorspelling retourneert; - Start de FastAPI-app als webserver, zodat deze kan reageren op HTTP-verzoeken.
Deze aanpak biedt veel voordelen:
- U kunt uw model loskoppelen van de trainingsomgeving en toegankelijk maken voor andere systemen;
- FastAPI genereert automatisch interactieve documentatie voor uw API, waardoor testen en delen eenvoudig wordt;
- Het framework is asynchroon en zeer performant, wat belangrijk is voor realtime- of productiegebruik.
Voordat u ziet hoe u dit implementeert, lichten we eerst toe wat FastAPI is.
FastAPI is een modern, snel webframework voor het bouwen van API's met Python.
Om te laten zien hoe dit in de praktijk werkt, volgt hier een eenvoudige FastAPI-toepassing die een scikit-learn-model laadt en een /predict-endpoint aanbiedt. Dit voorbeeld gaat ervan uit dat u al een model hebt getraind en opgeslagen met de joblib- of pickle-module van scikit-learn. De API accepteert JSON-invoer voor voorspellingen en retourneert de uitvoer van het model.
from fastapi import FastAPI
from pydantic import BaseModel
import joblib
import numpy as np
# Define the request body schema
class InputData(BaseModel):
feature1: float
feature2: float
# Load the trained model (assumes model.pkl exists)
model = joblib.load("model.pkl")
app = FastAPI()
@app.post("/predict")
def predict(input_data: InputData):
# Prepare input for the model
data = np.array([[input_data.feature1, input_data.feature2]])
# Make prediction
prediction = model.predict(data)
# Return the result as JSON
return {"prediction": prediction[0]}
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 6.67
Modellen Aanbieden met FastAPI
Veeg om het menu te tonen
Wanneer u uw machine learning-model beschikbaar wilt maken voor gebruik door andere applicaties of gebruikers, is het aanbieden als een webservice een gangbare en praktische oplossing. FastAPI is een modern Python-webframework waarmee u snel REST API's kunt bouwen, waardoor het een uitstekende keuze is voor het aanbieden van machine learning-modellen. Met FastAPI kunt u een getraind model beschikbaar stellen via HTTP-endpoints, zodat voorspellingen vanaf elke locatie kunnen worden aangevraagd, met elk programma of hulpmiddel dat webverzoeken kan uitvoeren.
De gebruikelijke workflow voor het aanbieden van een ML-model met FastAPI omvat verschillende stappen:
- Train en serialiseer uw model met een bibliotheek zoals scikit-learn;
- Maak een FastAPI-app die het opgeslagen model bij het opstarten laadt;
- Definieer een endpoint (zoals
/predict) dat invoergegevens accepteert, inferentie uitvoert en de voorspelling retourneert; - Start de FastAPI-app als webserver, zodat deze kan reageren op HTTP-verzoeken.
Deze aanpak biedt veel voordelen:
- U kunt uw model loskoppelen van de trainingsomgeving en toegankelijk maken voor andere systemen;
- FastAPI genereert automatisch interactieve documentatie voor uw API, waardoor testen en delen eenvoudig wordt;
- Het framework is asynchroon en zeer performant, wat belangrijk is voor realtime- of productiegebruik.
Voordat u ziet hoe u dit implementeert, lichten we eerst toe wat FastAPI is.
FastAPI is een modern, snel webframework voor het bouwen van API's met Python.
Om te laten zien hoe dit in de praktijk werkt, volgt hier een eenvoudige FastAPI-toepassing die een scikit-learn-model laadt en een /predict-endpoint aanbiedt. Dit voorbeeld gaat ervan uit dat u al een model hebt getraind en opgeslagen met de joblib- of pickle-module van scikit-learn. De API accepteert JSON-invoer voor voorspellingen en retourneert de uitvoer van het model.
from fastapi import FastAPI
from pydantic import BaseModel
import joblib
import numpy as np
# Define the request body schema
class InputData(BaseModel):
feature1: float
feature2: float
# Load the trained model (assumes model.pkl exists)
model = joblib.load("model.pkl")
app = FastAPI()
@app.post("/predict")
def predict(input_data: InputData):
# Prepare input for the model
data = np.array([[input_data.feature1, input_data.feature2]])
# Make prediction
prediction = model.predict(data)
# Return the result as JSON
return {"prediction": prediction[0]}
Bedankt voor je feedback!