Lær AI med Python · leksjon

Grunnleggende FastAPI for ML-utviklere

FastAPI-app, GET-/POST-endepunkter, sti- og spørringsparametere samt async def kontra def for ML-inferens.

Leksjon 1 av 413 trinn

Grunnleggende FastAPI for ML-utviklere er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hvorfor FastAPI for ML?

FastAPI er et moderne Python-nettverksrammeverk som egner seg svært godt til å levere modeller: det er raskt, genererer interaktiv dokumentasjon automatisk og validerer forespørsler ved hjelp av typehint. Det har blitt standardmåten å legge en modell bak et HTTP-API.

Opprette appen

Opprett en FastAPI-applikasjon; dette app-objektet inneholder alle endepunktene.

from fastapi import FastAPI

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

Et GET /health-endepunkt

En helsesjekk lar lastbalanserere og orkestratorer bekrefte at tjenesten er tilgjengelig. Den returnerer en enkel status uten omfattende arbeid.

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

Et POST /predict-endepunkt

Prediksjoner krever inndata og bruker derfor POST med innhold i forespørselen. Funksjonen mottar den analyserte nyttelasten og returnerer modellens resultat.

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

GET kontra POST

  • GET: henter data, har ikke noe body-innhold og brukes til helsesjekker og enkle lesinger.
  • POST: sender data i body-innholdet og brukes til prediksjoner der funksjoner sendes inn.

Kjøre med uvicorn

uvicorn er ASGI-serveren som kjører FastAPI. Start den fra kode eller kommandolinjen.

import uvicorn

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

Oppstart fra kommandolinjen

Vanligere er det å starte via CLI-en ved å angi modulen og app-objektet til uvicorn. --reload starter automatisk på nytt ved kodeendringer under utvikling.

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

Interaktiv dokumentasjon uten ekstra arbeid

FastAPI genererer automatisk Swagger UI på /docs og ReDoc på /redoc fra typehintene, slik at endepunkter kan testes i nettleseren uten ekstra kode.

async def for I/O-bundet arbeid

Bruk async def for endepunkter som venter på I/O (database, eksterne API-er eller fillesing). Asynkron kjøring lar serveren håndtere andre forespørsler mens den venter, noe som øker gjennomstrømmingen.

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

sync def for CPU-bundet inferens

Modellens predict er vanligvis CPU-bundet. Definer slike endepunkter med vanlig sync def; FastAPI kjører dem i en trådpool slik at de ikke blokkerer hendelsesløkken. Hvis async brukes til CPU-tungt arbeid, vil serveren faktisk fryse.

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

Velge async eller sync

  • async def: I/O-bundet og venter på nettverk eller disk.
  • sync def: CPU-bundet modellinferens som kjører i en trådpool.

Riktig valg holder serveren responsiv under belastning.

Hurtigsjekk

Test det grunnleggende om FastAPI.

Oppsummering

Det ble bygget en FastAPI-tjeneste: app ble opprettet, GET /health og POST /predict ble lagt til, tjenesten ble kjørt med uvicorn, og det ble lært å bruke async def for I/O-bundet arbeid og sync def for CPU-bundet inferens. Neste tema er Pydantic-skjemaer for forespørsler og svar.

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Grunnleggende FastAPI for ML-utviklere» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Grunnleggende FastAPI for ML-utviklere», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Grunnleggende FastAPI for ML-utviklere»?

FastAPI-app, GET-/POST-endepunkter, sti- og spørringsparametere samt async def kontra def for ML-inferens. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Grunnleggende FastAPI for ML-utviklere»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnleggende FastAPI for ML-utviklere
  2. Pydantic-skjemaer for forespørsler og svar
  3. Innlasting og tilgjengeliggjøring av ML-modeller
  4. Konteinerisering av modell-API-et
← Tilbake til Lær AI med Python