Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Serving af Modeller med FastAPI | Sektion
Mlops Grundlæggende

bookServing af Modeller med FastAPI

Når du skal gøre din maskinlæringsmodel tilgængelig for andre applikationer eller brugere, er det en almindelig og praktisk løsning at udstille den som en webservice. FastAPI er et moderne Python-webframework, der gør det muligt hurtigt at opbygge REST API'er, hvilket gør det til et fremragende valg til at udstille maskinlæringsmodeller. Ved at bruge FastAPI kan du eksponere en trænet model via HTTP-endpoints, så forudsigelser kan anmodes fra hvor som helst, med ethvert sprog eller værktøj, der kan sende webanmodninger.

Den typiske arbejdsgang for at udstille en ML-model med FastAPI omfatter flere trin:

  • Træn og serialiser din model ved hjælp af et bibliotek som scikit-learn;
  • Opret en FastAPI-app, der indlæser den gemte model ved opstart;
  • Definér et endpoint (såsom /predict), der accepterer inputdata, udfører inferens og returnerer forudsigelsen;
  • Kør FastAPI-appen som en webserver, så den kan besvare HTTP-anmodninger.

Denne tilgang giver mange fordele:

  • Du kan adskille din model fra træningsmiljøet og gøre den tilgængelig for andre systemer;
  • FastAPI genererer automatisk interaktiv dokumentation for dit API, hvilket gør det nemt at teste og dele;
  • Frameworket er asynkront og meget ydeevnedytigt, hvilket er vigtigt til realtids- eller produktionsbrug.

Før vi ser, hvordan dette implementeres, skal vi præcisere, hvad FastAPI er.

Note
FastAPI

FastAPI er et moderne, hurtigt webframework til opbygning af API'er med Python.

For at se, hvordan dette fungerer i praksis, er her en simpel FastAPI-applikation, der indlæser en scikit-learn-model og udstiller et /predict endpoint. Dette eksempel forudsætter, at du allerede har trænet og gemt en model ved hjælp af scikit-learns joblib eller pickle modul. API'et accepterer JSON-input til forudsigelse og returnerer modellens output.

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 udsagn om at serve maskinlæringsmodeller med FastAPI er korrekte?

Select all correct answers

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookServing af Modeller med FastAPI

Stryg for at vise menuen

Når du skal gøre din maskinlæringsmodel tilgængelig for andre applikationer eller brugere, er det en almindelig og praktisk løsning at udstille den som en webservice. FastAPI er et moderne Python-webframework, der gør det muligt hurtigt at opbygge REST API'er, hvilket gør det til et fremragende valg til at udstille maskinlæringsmodeller. Ved at bruge FastAPI kan du eksponere en trænet model via HTTP-endpoints, så forudsigelser kan anmodes fra hvor som helst, med ethvert sprog eller værktøj, der kan sende webanmodninger.

Den typiske arbejdsgang for at udstille en ML-model med FastAPI omfatter flere trin:

  • Træn og serialiser din model ved hjælp af et bibliotek som scikit-learn;
  • Opret en FastAPI-app, der indlæser den gemte model ved opstart;
  • Definér et endpoint (såsom /predict), der accepterer inputdata, udfører inferens og returnerer forudsigelsen;
  • Kør FastAPI-appen som en webserver, så den kan besvare HTTP-anmodninger.

Denne tilgang giver mange fordele:

  • Du kan adskille din model fra træningsmiljøet og gøre den tilgængelig for andre systemer;
  • FastAPI genererer automatisk interaktiv dokumentation for dit API, hvilket gør det nemt at teste og dele;
  • Frameworket er asynkront og meget ydeevnedytigt, hvilket er vigtigt til realtids- eller produktionsbrug.

Før vi ser, hvordan dette implementeres, skal vi præcisere, hvad FastAPI er.

Note
FastAPI

FastAPI er et moderne, hurtigt webframework til opbygning af API'er med Python.

For at se, hvordan dette fungerer i praksis, er her en simpel FastAPI-applikation, der indlæser en scikit-learn-model og udstiller et /predict endpoint. Dette eksempel forudsætter, at du allerede har trænet og gemt en model ved hjælp af scikit-learns joblib eller pickle modul. API'et accepterer JSON-input til forudsigelse og returnerer modellens output.

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 udsagn om at serve maskinlæringsmodeller med FastAPI er korrekte?

Select all correct answers

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
some-alt