Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Bereitstellung von Modellen mit FastAPI | Abschnitt
Practice
Projects
Quizzes & Challenges
Quizze
Challenges
/
MLOps-Grundlagen

bookBereitstellung von Modellen mit FastAPI

Wenn Sie Ihr Machine-Learning-Modell für andere Anwendungen oder Nutzer verfügbar machen möchten, ist das Bereitstellen als Webservice eine gängige und praktische Lösung. FastAPI ist ein modernes Python-Webframework, mit dem Sie schnell REST-APIs erstellen können, und eignet sich daher hervorragend für das Bereitstellen von Machine-Learning-Modellen. Mit FastAPI können Sie ein trainiertes Modell über HTTP-Endpunkte zugänglich machen, sodass Vorhersagen von überall aus und mit jedem beliebigen Tool oder jeder Sprache, die Webanfragen stellen kann, angefordert werden können.

Der typische Ablauf für das Bereitstellen eines ML-Modells mit FastAPI umfasst mehrere Schritte:

  • Trainieren und Serialisieren Ihres Modells mit einer Bibliothek wie scikit-learn;
  • Erstellen einer FastAPI-Anwendung, die das gespeicherte Modell beim Start lädt;
  • Definieren eines Endpunkts (z. B. /predict), der Eingabedaten entgegennimmt, Inferenz durchführt und die Vorhersage zurückgibt;
  • Ausführen der FastAPI-Anwendung als Webserver, damit sie auf HTTP-Anfragen reagieren kann.

Dieser Ansatz bietet viele Vorteile:

  • Sie können Ihr Modell von der Trainingsumgebung entkoppeln und für andere Systeme zugänglich machen;
  • FastAPI generiert automatisch interaktive Dokumentation für Ihre API, was das Testen und Teilen erleichtert;
  • Das Framework ist asynchron und sehr leistungsfähig, was für Echtzeit- oder Produktionsanwendungen wichtig ist.

Bevor wir sehen, wie dies implementiert wird, klären wir zunächst, was FastAPI ist.

Note
FastAPI

FastAPI ist ein modernes, schnelles Webframework zur Erstellung von APIs mit Python.

Um zu sehen, wie dies in der Praxis funktioniert, folgt hier eine einfache FastAPI-Anwendung, die ein scikit-learn-Modell lädt und einen /predict-Endpunkt bereitstellt. In diesem Beispiel wird davon ausgegangen, dass Sie bereits ein Modell mit dem joblib- oder pickle-Modul von scikit-learn trainiert und gespeichert haben. Die API akzeptiert JSON-Eingaben für Vorhersagen und gibt die Ausgabe des Modells zurück.

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

Welche Aussagen zum Bereitstellen von Machine-Learning-Modellen mit FastAPI sind zutreffend?

Select all correct answers

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookBereitstellung von Modellen mit FastAPI

Swipe um das Menü anzuzeigen

Wenn Sie Ihr Machine-Learning-Modell für andere Anwendungen oder Nutzer verfügbar machen möchten, ist das Bereitstellen als Webservice eine gängige und praktische Lösung. FastAPI ist ein modernes Python-Webframework, mit dem Sie schnell REST-APIs erstellen können, und eignet sich daher hervorragend für das Bereitstellen von Machine-Learning-Modellen. Mit FastAPI können Sie ein trainiertes Modell über HTTP-Endpunkte zugänglich machen, sodass Vorhersagen von überall aus und mit jedem beliebigen Tool oder jeder Sprache, die Webanfragen stellen kann, angefordert werden können.

Der typische Ablauf für das Bereitstellen eines ML-Modells mit FastAPI umfasst mehrere Schritte:

  • Trainieren und Serialisieren Ihres Modells mit einer Bibliothek wie scikit-learn;
  • Erstellen einer FastAPI-Anwendung, die das gespeicherte Modell beim Start lädt;
  • Definieren eines Endpunkts (z. B. /predict), der Eingabedaten entgegennimmt, Inferenz durchführt und die Vorhersage zurückgibt;
  • Ausführen der FastAPI-Anwendung als Webserver, damit sie auf HTTP-Anfragen reagieren kann.

Dieser Ansatz bietet viele Vorteile:

  • Sie können Ihr Modell von der Trainingsumgebung entkoppeln und für andere Systeme zugänglich machen;
  • FastAPI generiert automatisch interaktive Dokumentation für Ihre API, was das Testen und Teilen erleichtert;
  • Das Framework ist asynchron und sehr leistungsfähig, was für Echtzeit- oder Produktionsanwendungen wichtig ist.

Bevor wir sehen, wie dies implementiert wird, klären wir zunächst, was FastAPI ist.

Note
FastAPI

FastAPI ist ein modernes, schnelles Webframework zur Erstellung von APIs mit Python.

Um zu sehen, wie dies in der Praxis funktioniert, folgt hier eine einfache FastAPI-Anwendung, die ein scikit-learn-Modell lädt und einen /predict-Endpunkt bereitstellt. In diesem Beispiel wird davon ausgegangen, dass Sie bereits ein Modell mit dem joblib- oder pickle-Modul von scikit-learn trainiert und gespeichert haben. Die API akzeptiert JSON-Eingaben für Vorhersagen und gibt die Ausgabe des Modells zurück.

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

Welche Aussagen zum Bereitstellen von Machine-Learning-Modellen mit FastAPI sind zutreffend?

Select all correct answers

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 7
some-alt