Lär Er AI med Python · Lektion

Grunderna i FastAPI för ML-ingenjörer

FastAPI-app, GET/POST-slutpunkter, sökvägs- och frågeparametrar, async def kontra def för ML-inferens.

Lektion 1 av 413 steg

Grunderna i FastAPI för ML-ingenjörer är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.

Varför FastAPI för ML?

FastAPI är ett modernt Python-webbramverk som passar utmärkt för att servera modeller: det är snabbt, genererar interaktiv dokumentation automatiskt och validerar requests med typannoteringar. Det har blivit standardsättet att kapsla in en modell bakom ett HTTP-API.

Skapa appen

Skapa en FastAPI-applikation; objektet app innehåller alla era routes.

from fastapi import FastAPI

app = FastAPI(title="Model Serving API")

En GET /health-endpoint

En hälsokontroll låter lastbalanserare och orkestrerare bekräfta att tjänsten är igång. Den returnerar en enkel status utan att utföra tungt arbete.

@app.get("/health")
def health():
    return {"status": "ok"}

En POST /predict-endpoint

Förutsägelser kräver indata, så de använder POST med en request body. Funktionen tar emot den tolkade payloaden och returnerar modellens resultat.

@app.post("/predict")
def predict(features: list[float]):
    result = model.predict([features])
    return {"prediction": result[0]}

GET jämfört med POST

  • GET: hämta data, utan body, används för hälsokontroller och enkla läsningar.
  • POST: skicka data i body, används för förutsägelser där ni skickar in features.

Köra med uvicorn

uvicorn är ASGI-servern som kör FastAPI. Starta den från kod eller kommandoraden.

import uvicorn

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

Starta från kommandoraden

Vanligare är att starta via CLI:t genom att ange modulen och app-objektet för uvicorn. --reload startar automatiskt om servern när koden ändras under utveckling.

# terminal
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Interaktiv dokumentation utan extra arbete

FastAPI genererar automatiskt Swagger UI på /docs och ReDoc på /redoc utifrån era typannoteringar, så att ni kan testa endpoints i webbläsaren utan extra kod.

async def för I/O-bundet arbete

Använd async def för endpoints som väntar på I/O (databas, externa API:er, filläsning). Async gör att servern kan hantera andra requests medan den väntar, vilket förbättrar genomströmningen.

@app.get("/external")
async def fetch():
    data = await call_remote_service()
    return data

sync def för CPU-bunden inferens

Modellens predict är vanligtvis CPU-bunden. Definiera sådana endpoints med vanlig sync def; FastAPI kör dem i en trådpool så att de inte blockerar händelseslingan. Om ni använder async för CPU-tungt arbete skulle servern faktiskt låsas.

@app.post("/predict")
def predict(features: list[float]):
    # CPU-bound inference -> sync def
    return {"prediction": model.predict([features])[0]}

Välja mellan async och sync

  • async def: I/O-bundet, väntar på nätverk eller disk.
  • sync def: CPU-bunden modellinferens, körs i en trådpool.

Genom att välja rätt hålls servern responsiv under belastning.

Snabbtest

Testa era FastAPI-grunder.

Sammanfattning

Ni byggde en FastAPI-tjänst: skapade app, lade till GET /health och POST /predict, körde den med uvicorn och lärde er att använda async def för I/O-bunden och sync def för CPU-bunden inferens. Nästa del: Pydantic-scheman för requests och responses.

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
53
Lektioner
225

Vanliga frågor

Är lektionen ”Grunderna i FastAPI för ML-ingenjörer” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Grunderna i FastAPI för ML-ingenjörer”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.

Vad lär jag mig i ”Grunderna i FastAPI för ML-ingenjörer”?

FastAPI-app, GET/POST-slutpunkter, sökvägs- och frågeparametrar, async def kontra def för ML-inferens. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?

Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Grunderna i FastAPI för ML-ingenjörer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?

Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Grunderna i FastAPI för ML-ingenjörer
  2. Pydantic-scheman för förfrågningar och svar
  3. Läsa in och tillhandahålla ML-modeller
  4. Dockerisera modell-API:t
← Tillbaka till Lär Er AI med Python