FastAPI-Grundlagen für ML Engineers
FastAPI-App, GET-/POST-Endpunkte, Pfad- und Query-Parameter, async def vs. def für ML-Inferenz.
FastAPI-Grundlagen für ML Engineers ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Warum FastAPI für ML?
FastAPI ist ein modernes Python-Webframework, das sich ideal zum Bereitstellen von Modellen eignet: Es ist schnell, generiert automatisch interaktive Dokumentation und validiert Anfragen mithilfe von Type Hints. Es hat sich zum Standard entwickelt, um ein Modell hinter einer HTTP-API bereitzustellen.
Die App erstellen
Instanziieren Sie eine FastAPI-Anwendung. Dieses app-Objekt enthält alle Ihre Routen.
from fastapi import FastAPI
app = FastAPI(title="Model Serving API")Ein GET-/health-Endpunkt
Ein Health Check ermöglicht Load Balancern und Orchestratoren zu bestätigen, dass der Dienst aktiv ist. Er gibt einen einfachen Status zurück, ohne aufwendige Verarbeitung auszuführen.
@app.get("/health")
def health():
return {"status": "ok"}Ein POST-/predict-Endpunkt
Vorhersagen benötigen Eingabedaten, daher verwenden sie POST mit einem Request-Body. Die Funktion erhält die geparsten Nutzdaten und gibt die Modellausgabe zurück.
@app.post("/predict")
def predict(features: list[float]):
result = model.predict([features])
return {"prediction": result[0]}GET vs. POST
- GET: Daten abrufen, kein Body, für Health Checks und einfache Lesezugriffe.
- POST: Daten im Body senden, für Vorhersagen, bei denen Sie Features übermitteln.
Mit uvicorn ausführen
uvicorn ist der ASGI-Server, der FastAPI ausführt. Starten Sie ihn aus dem Code oder über die Kommandozeile.
import uvicorn
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)Über die Kommandozeile starten
Üblicher ist der Start über die CLI, wobei Sie uvicorn auf das Modul und das App-Objekt verweisen lassen. --reload startet den Server während der Entwicklung bei Codeänderungen automatisch neu.
# terminal
uvicorn main:app --host 0.0.0.0 --port 8000 --reloadInteraktive Dokumentation gratis
FastAPI generiert automatisch Swagger UI unter /docs und ReDoc unter /redoc aus Ihren Type Hints. Dadurch können Sie Endpunkte ohne zusätzlichen Code direkt im Browser testen.
async def für I/O-gebundene Aufgaben
Verwenden Sie async def für Endpunkte, die auf I/O warten (Datenbank, externe APIs, Dateizugriffe). Mit Async kann der Server während des Wartens andere Anfragen bearbeiten, was den Durchsatz verbessert.
@app.get("/external")
async def fetch():
data = await call_remote_service()
return datasync def für CPU-gebundene Inferenz
Das Modell-predict ist normalerweise CPU-bound. Definieren Sie solche Endpunkte mit einfachem sync def. FastAPI führt sie in einem Threadpool aus, sodass sie die Event Loop nicht blockieren. Die Verwendung von Async für CPU-intensive Aufgaben würde den Server tatsächlich einfrieren.
@app.post("/predict")
def predict(features: list[float]):
# CPU-bound inference -> sync def
return {"prediction": model.predict([features])[0]}async oder sync auswählen
- async def: I/O-gebunden, wartet auf Netzwerk oder Datenträger.
- sync def: CPU-gebundene Modellinferenz, wird in einem Threadpool ausgeführt.
Die richtige Auswahl hält den Server auch unter Last reaktionsfähig.
Kurzer Test
Testen Sie Ihre FastAPI-Grundkenntnisse.
Zusammenfassung
Sie haben einen FastAPI-Dienst erstellt: das app angelegt, GET /health und POST /predict hinzugefügt, ihn mit uvicorn ausgeführt und gelernt, async def für I/O-gebundene sowie sync def für CPU-gebundene Inferenz zu verwenden. Als Nächstes folgen Pydantic-Schemas für Requests und Responses.
Häufig gestellte Fragen
Ist die Lektion „FastAPI-Grundlagen für ML Engineers“ kostenlos?
Ja — der vollständige Text von „FastAPI-Grundlagen für ML Engineers“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „FastAPI-Grundlagen für ML Engineers“?
FastAPI-App, GET-/POST-Endpunkte, Pfad- und Query-Parameter, async def vs. def für ML-Inferenz. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „FastAPI-Grundlagen für ML Engineers“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- FastAPI-Grundlagen für ML Engineers
- Pydantic-Schemas für Requests und Responses
- ML-Modelle laden und bereitstellen
- Die Model-API mit Docker containerisieren