Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Distribuere Modeller med FastAPI | Seksjon
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
MLOps-Grunnleggende

bookDistribuere Modeller med FastAPI

Når du ønsker å gjøre maskinlæringsmodellen din tilgjengelig for bruk av andre applikasjoner eller brukere, er det vanlig og praktisk å tilby den som en webtjeneste. FastAPI er et moderne Python-rammeverk for web som lar deg raskt bygge REST API-er, og er derfor et utmerket valg for å tilby maskinlæringsmodeller. Med FastAPI kan du eksponere en trent modell gjennom HTTP-endepunkter, slik at prediksjoner kan etterspørres fra hvor som helst, med hvilket som helst språk eller verktøy som kan sende webforespørsler.

Den typiske arbeidsflyten for å tilby en ML-modell med FastAPI inkluderer flere steg:

  • Tren og serialiser modellen din ved hjelp av et bibliotek som scikit-learn;
  • Opprett en FastAPI-applikasjon som laster den lagrede modellen ved oppstart;
  • Definer et endepunkt (for eksempel /predict) som aksepterer inndata, kjører inferens og returnerer prediksjonen;
  • Kjør FastAPI-applikasjonen som en webserver, slik at den kan svare på HTTP-forespørsler.

Denne tilnærmingen gir flere fordeler:

  • Du kan skille modellen fra treningsmiljøet og gjøre den tilgjengelig for andre systemer;
  • FastAPI genererer automatisk interaktiv dokumentasjon for API-et ditt, noe som gjør det enkelt å teste og dele;
  • Rammeverket er asynkront og svært ytelseseffektivt, noe som er viktig for sanntids- eller produksjonsbruk.

Før vi ser hvordan dette implementeres, la oss klargjøre hva FastAPI er.

Note
FastAPI

FastAPI er et moderne, raskt web-rammeverk for å bygge API-er med Python.

For å se hvordan dette fungerer i praksis, følger her et enkelt FastAPI-program som laster en scikit-learn-modell og eksponerer et /predict-endepunkt. Dette eksempelet forutsetter at du allerede har trent og lagret en modell ved hjelp av scikit-learn sitt joblib- eller pickle-modul. API-et vil akseptere JSON-inndata for prediksjon og returnere modellens utdata.

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]}

question mark

Hvilke påstander om å serve maskinlæringsmodeller med FastAPI er korrekte?

Select all correct answers

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

bookDistribuere Modeller med FastAPI

Sveip for å vise menyen

Når du ønsker å gjøre maskinlæringsmodellen din tilgjengelig for bruk av andre applikasjoner eller brukere, er det vanlig og praktisk å tilby den som en webtjeneste. FastAPI er et moderne Python-rammeverk for web som lar deg raskt bygge REST API-er, og er derfor et utmerket valg for å tilby maskinlæringsmodeller. Med FastAPI kan du eksponere en trent modell gjennom HTTP-endepunkter, slik at prediksjoner kan etterspørres fra hvor som helst, med hvilket som helst språk eller verktøy som kan sende webforespørsler.

Den typiske arbeidsflyten for å tilby en ML-modell med FastAPI inkluderer flere steg:

  • Tren og serialiser modellen din ved hjelp av et bibliotek som scikit-learn;
  • Opprett en FastAPI-applikasjon som laster den lagrede modellen ved oppstart;
  • Definer et endepunkt (for eksempel /predict) som aksepterer inndata, kjører inferens og returnerer prediksjonen;
  • Kjør FastAPI-applikasjonen som en webserver, slik at den kan svare på HTTP-forespørsler.

Denne tilnærmingen gir flere fordeler:

  • Du kan skille modellen fra treningsmiljøet og gjøre den tilgjengelig for andre systemer;
  • FastAPI genererer automatisk interaktiv dokumentasjon for API-et ditt, noe som gjør det enkelt å teste og dele;
  • Rammeverket er asynkront og svært ytelseseffektivt, noe som er viktig for sanntids- eller produksjonsbruk.

Før vi ser hvordan dette implementeres, la oss klargjøre hva FastAPI er.

Note
FastAPI

FastAPI er et moderne, raskt web-rammeverk for å bygge API-er med Python.

For å se hvordan dette fungerer i praksis, følger her et enkelt FastAPI-program som laster en scikit-learn-modell og eksponerer et /predict-endepunkt. Dette eksempelet forutsetter at du allerede har trent og lagret en modell ved hjelp av scikit-learn sitt joblib- eller pickle-modul. API-et vil akseptere JSON-inndata for prediksjon og returnere modellens utdata.

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]}

question mark

Hvilke påstander om å serve maskinlæringsmodeller med FastAPI er korrekte?

Select all correct answers

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
some-alt