Deep Learning Academy · Lektion

Servér med FastAPI

Pak inferens ind i et REST-endpoint.

Lektion 4 af 413 trin

Servér med FastAPI er en gratis Deep Learning Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Deep Learning Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Deep Learning Academy-kurset indeholder 4 lektioner i alt.

Fra gemt model til aktiv API

En trænet model hjælper først brugerne, når de kan få adgang til den. FastAPI pakker din model ind i et web-endepunkt, som de kan kalde via HTTP. 🌍

Hvorfor FastAPI passer til inferens

FastAPI er hurtig, understøtter async og genererer dokumentation automatisk. Derfor er den en enkel måde at levere modelprognoser som en REST-tjeneste på.

Indlæs modellen én gang ved opstart

Indlæs din model én gang, når serveren starter, ikke ved hver forespørgsel. Indlæsning ved hvert kald ville gøre hver prognose pinefuldt langsom.

model = torch.jit.load('model.pt')
model.eval()

Opret appen

Du begynder med at oprette en FastAPI-instans. Dette objekt indeholder dine ruter og bliver den server, du kører.

from fastapi import FastAPI
app = FastAPI()

Validér input med Pydantic

Definér en Pydantic-model for forespørgslens brødtekst, så FastAPI automatisk kontrollerer formen og typerne af de indkommende data.

from pydantic import BaseModel
class Item(BaseModel):
    features: list[float]

Definér en prognoserute

En POST-rute modtager de validerede data, kører modellen og returnerer resultatet som JSON, som klienten kan læse.

@app.post('/predict')
def predict(item: Item):
    ...

Kør inferens uden gradienter

Pak forward-passet ind i torch.no_grad(), så serveren springer gradientsregistrering over og sparer tid og hukommelse ved hvert kald.

with torch.no_grad():
    output = model(x)

Returnér et rent JSON-svar

Konvertér tensor-outputtet til almindelige Python-tal, før du returnerer det, eftersom rå tensorer ikke kan serialiseres direkte til JSON.

return {'prediction': output.argmax().item()}

Servér den med Uvicorn

Uvicorn er serveren, der kører din FastAPI-app. Én kommando gør dit prognoseendepunkt tilgængeligt. 🚀

uvicorn main:app --host 0.0.0.0 --port 8000

Udforsk den automatiske dokumentation

FastAPI opbygger interaktiv dokumentation på stien /docs, så du og dine klienter kan teste endepunktet direkte i browseren.

Tilføj en sundhedstjekrute

Et lille sundheds-endepunkt lader loadbalancere bekræfte, at serveren er aktiv, hvilket gør implementeringen langt mere pålidelig.

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

Hurtigt tjek

Du vil have, at hver forespørgsel automatisk valideres for korrekte felter og typer. Hvad gør det?

Opsummering: Din model er aktiv

Du leverede en model med FastAPI: indlæs den ved opstart, validér med Pydantic, lav prognoser under no_grad, og kør den på Uvicorn. 🎉

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Servér med FastAPI” gratis?

Ja — hele teksten til “Servér med FastAPI” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Deep Learning Academy-kurset, skal du opgradere til CoddyKit PRO. Deep Learning Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Servér med FastAPI”?

Pak inferens ind i et REST-endpoint. Du øver dig i Deep Learning Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Deep Learning Academy?

Der kræves ingen tidligere erfaring. Deep Learning Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Servér med FastAPI”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Deep Learning Academy-lektion?

Ja. Alle Deep Learning Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. TorchScript og torch.compile
  2. Eksportér til ONNX
  3. Kvantisering til mindre og hurtigere modeller
  4. Servér med FastAPI
← Tilbage til Deep Learning Academy