Valider forespørsler med Pydantic
Avvis ugyldige inndata før de når modellen.
Valider forespørsler med Pydantic er en gratis leksjon i MLOps Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MLOps Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MLOps Academy inneholder totalt 4 leksjoner.
Søppel inn, søppel ut
Hvis en klient sender feil felter eller typer, får modellen din meningsløse data. Du bør avvise ugyldige inndata før de i det hele tatt når modellen. 🛡️
Møt Pydantic
FastAPI bruker Pydantic til å validere forespørsler. Du beskriver datastrukturen med en Python-klasse, og valideringen skjer automatisk.
Definer et skjema
Du arver fra BaseModel og angir feltene med typene deres. Denne klassen blir kontrakten for request-bodyen til /predict.
from pydantic import BaseModel
class IrisInput(BaseModel):
sepal_length: float
petal_width: floatBruk det i ruten
Du angir typen til endepunktargumentet med modellen din. FastAPI analyserer, validerer og gir deg et ryddig objekt.
@app.post("/predict")
def predict(data: IrisInput):
...Åpne feltene
Inne i funksjonen er de validerte dataene et vanlig objekt. Du leser hver verdi med enkel punktnotasjon.
x = [data.sepal_length, data.petal_width]
pred = model.predict([x])Automatiske 422-feil
Hvis et felt mangler eller har feil type, returnerer FastAPI et 422-svar med en tydelig melding. Du trenger ikke skrive feilhåndteringskode.
Legg til verdibegrensninger
Du kan håndheve intervaller med Field. Her må en måling være større enn null, så negative verdier avvises automatisk.
from pydantic import Field
sepal_length: float = Field(gt=0)Valider en liste med rader
For å beregne poengsummen for mange eksempler samtidig kan du ta imot en list av modellen din. Pydantic validerer hvert element i gruppen for deg.
@app.post("/predict")
def predict(rows: list[IrisInput]):
...Dokumenter feltene
Legg til beskrivelser og eksempler i feltene, så vises de på /docs-siden og forteller kallere nøyaktig hva de skal sende. 📘
sepal_length: float = Field(description="cm", examples=[5.1])Form også svaret
Du kan deklarere en response_model, slik at resultatet valideres og dokumenteres på samme måte som inndataene. Da blir API-kontrakten tydelig.
@app.post("/predict", response_model=Prediction)
def predict(data: IrisInput):
...Hvorfor dette er viktig
Grundig validering av inndata er det første forsvarslaget ditt i produksjon. Det blokkerer ugyldige forespørsler, slik at modellen bare får rene og forventede data. ✅
Hurtigsjekk
En klient sender en forespørsel der et obligatorisk felt mangler. Hva gjør FastAPI takket være Pydantic?
Oppsummering
Du definerte et BaseModel-skjema, typet ruten med det, la til feltbegrensninger og lot FastAPI automatisk avvise ugyldige inndata med tydelige 422-feil. Rene data inn! 🙌
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
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Valider forespørsler med Pydantic» gratis?
Ja – hele teksten i «Valider forespørsler med Pydantic» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av MLOps Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i MLOps Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Valider forespørsler med Pydantic»?
Avvis ugyldige inndata før de når modellen. Du øver på MLOps Academy 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 MLOps Academy?
Ingen tidligere erfaring er nødvendig. MLOps Academy 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 2 av 4.
Hvor lang tid tar leksjonen «Valider forespørsler med Pydantic»?
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 MLOps Academy-leksjonen?
Ja. Alle MLOps Academy-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
- Det første /predict-endepunktet
- Valider forespørsler med Pydantic
- Last inn modellen én gang ved oppstart
- Legg til en /health-beredskapssjekk