Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mallien Tarjoaminen FastAPI:lla | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Mlopsin Perusteet

bookMallien Tarjoaminen FastAPI:lla

Kun haluat tehdä koneoppimismallisi muiden sovellusten tai käyttäjien saataville, sen tarjoaminen verkkopalveluna on yleinen ja käytännöllinen ratkaisu. FastAPI on moderni Python-verkkokehys, jonka avulla voit rakentaa REST-rajapintoja nopeasti, mikä tekee siitä erinomaisen vaihtoehdon koneoppimismallien tarjoamiseen. FastAPI:n avulla voit julkaista koulutetun mallin HTTP-päätepisteiden kautta, jolloin ennusteita voidaan pyytää mistä tahansa, millä tahansa kielellä tai työkalulla, joka osaa tehdä verkkopyyntöjä.

Tyypillinen työnkulku koneoppimismallin tarjoamiseksi FastAPI:lla sisältää useita vaiheita:

  • Kouluta ja tallenna mallisi esimerkiksi scikit-learn -kirjastolla;
  • Luo FastAPI-sovellus, joka lataa tallennetun mallin käynnistyksen yhteydessä;
  • Määrittele päätepiste (esimerkiksi /predict), joka vastaanottaa syötteen, suorittaa ennusteen ja palauttaa tuloksen;
  • Käynnistä FastAPI-sovellus verkkopalvelimena, jotta se voi vastata HTTP-pyyntöihin.

Tämä lähestymistapa tarjoaa monia etuja:

  • Voit irrottaa mallisi koulutusympäristöstä ja tehdä sen muiden järjestelmien käytettäväksi;
  • FastAPI luo automaattisesti interaktiivisen dokumentaation rajapinnallesi, mikä helpottaa testaamista ja jakamista;
  • Kehys on asynkroninen ja erittäin suorituskykyinen, mikä on tärkeää reaaliaikaisessa tai tuotantokäytössä.

Ennen kuin tarkastelemme toteutusta, selvennetään, mitä FastAPI on.

Note
FastAPI

FastAPI on moderni ja nopea verkkokehys API-rajapintojen rakentamiseen Pythonilla.

Käytännön esimerkkinä tässä on yksinkertainen FastAPI-sovellus, joka lataa scikit-learn -mallin ja tarjoaa /predict-päätepisteen. Esimerkissä oletetaan, että olet jo kouluttanut ja tallentanut mallin scikit-learnin joblib- tai pickle-moduulilla. Rajapinta vastaanottaa JSON-muotoisen syötteen ennustamista varten ja palauttaa mallin tuottaman tuloksen.

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

Mitkä väittämät FastAPI:n käytöstä koneoppimismallien tarjoamisessa pitävät paikkansa?

Select all correct answers

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookMallien Tarjoaminen FastAPI:lla

Pyyhkäise näyttääksesi valikon

Kun haluat tehdä koneoppimismallisi muiden sovellusten tai käyttäjien saataville, sen tarjoaminen verkkopalveluna on yleinen ja käytännöllinen ratkaisu. FastAPI on moderni Python-verkkokehys, jonka avulla voit rakentaa REST-rajapintoja nopeasti, mikä tekee siitä erinomaisen vaihtoehdon koneoppimismallien tarjoamiseen. FastAPI:n avulla voit julkaista koulutetun mallin HTTP-päätepisteiden kautta, jolloin ennusteita voidaan pyytää mistä tahansa, millä tahansa kielellä tai työkalulla, joka osaa tehdä verkkopyyntöjä.

Tyypillinen työnkulku koneoppimismallin tarjoamiseksi FastAPI:lla sisältää useita vaiheita:

  • Kouluta ja tallenna mallisi esimerkiksi scikit-learn -kirjastolla;
  • Luo FastAPI-sovellus, joka lataa tallennetun mallin käynnistyksen yhteydessä;
  • Määrittele päätepiste (esimerkiksi /predict), joka vastaanottaa syötteen, suorittaa ennusteen ja palauttaa tuloksen;
  • Käynnistä FastAPI-sovellus verkkopalvelimena, jotta se voi vastata HTTP-pyyntöihin.

Tämä lähestymistapa tarjoaa monia etuja:

  • Voit irrottaa mallisi koulutusympäristöstä ja tehdä sen muiden järjestelmien käytettäväksi;
  • FastAPI luo automaattisesti interaktiivisen dokumentaation rajapinnallesi, mikä helpottaa testaamista ja jakamista;
  • Kehys on asynkroninen ja erittäin suorituskykyinen, mikä on tärkeää reaaliaikaisessa tai tuotantokäytössä.

Ennen kuin tarkastelemme toteutusta, selvennetään, mitä FastAPI on.

Note
FastAPI

FastAPI on moderni ja nopea verkkokehys API-rajapintojen rakentamiseen Pythonilla.

Käytännön esimerkkinä tässä on yksinkertainen FastAPI-sovellus, joka lataa scikit-learn -mallin ja tarjoaa /predict-päätepisteen. Esimerkissä oletetaan, että olet jo kouluttanut ja tallentanut mallin scikit-learnin joblib- tai pickle-moduulilla. Rajapinta vastaanottaa JSON-muotoisen syötteen ennustamista varten ja palauttaa mallin tuottaman tuloksen.

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

Mitkä väittämät FastAPI:n käytöstä koneoppimismallien tarjoamisessa pitävät paikkansa?

Select all correct answers

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt