0Pricing
MLOps Academy · Lezione

Convalidare le richieste con Pydantic

Rifiuti gli input malformati prima che raggiungano il modello.

Convalidare le richieste con Pydantic è una lezione MLOps Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MLOps Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MLOps Academy include 4 lezioni in totale.

Se entra spazzatura, esce spazzatura

Se un client invia campi o tipi errati, il modello riceve dati senza senso. È opportuno rifiutare gli input non validi prima che raggiungano il modello. 🛡️

Conoscere Pydantic

FastAPI usa Pydantic per convalidare le richieste. Descriva la struttura dei dati con una classe Python e la convalida avverrà automaticamente.

Definire uno schema

Estenda BaseModel e elenchi i campi con i relativi tipi. Questa classe diventa il contratto per il corpo della richiesta /predict.

from pydantic import BaseModel

class IrisInput(BaseModel):
    sepal_length: float
    petal_width: float

Usarlo nella route

Indichi il tipo dell'argomento dell'endpoint usando il Suo modello. FastAPI analizza e convalida i dati, quindi Le fornisce un object pulito.

@app.post("/predict")
def predict(data: IrisInput):
    ...

Accedere ai campi

All'interno della funzione, i dati convalidati sono un normale oggetto. Legga ogni valore con un semplice accesso tramite dot.

x = [data.sepal_length, data.petal_width]
pred = model.predict([x])

Errori 422 automatici

Se manca un campo o il tipo è errato, FastAPI restituisce una risposta 422 con un messaggio chiaro. Non deve scrivere alcun codice per la gestione degli errori.

Aggiungere vincoli ai valori

Può imporre degli intervalli con Field. Qui una misurazione deve essere maggiore di zero, quindi i valori negativi vengono rifiutati automaticamente.

from pydantic import Field

sepal_length: float = Field(gt=0)

Convalidare una lista di righe

Per elaborare molti campioni contemporaneamente, accetti una list del Suo modello. Pydantic convalida ogni elemento del batch al posto Suo.

@app.post("/predict")
def predict(rows: list[IrisInput]):
    ...

Documentare i campi

Aggiunga descrizioni ed esempi ai campi: compariranno nella pagina /docs, così chi effettua le chiamate saprà esattamente cosa inviare. 📘

sepal_length: float = Field(description="cm", examples=[5.1])

Definire anche la risposta

Può dichiarare un response_model, così l'output viene convalidato e documentato proprio come l'input, mantenendo ben definito il contratto dell'API.

@app.post("/predict", response_model=Prediction)
def predict(data: IrisInput):
    ...

Perché è importante

Una rigorosa convalida degli input è la prima linea di difesa in produzione. Blocca le richieste malformate, così il model riceve solo dati puliti e conformi alle aspettative. ✅

Verifica rapida

Un client invia una richiesta in cui manca un campo obbligatorio. Che cosa fa FastAPI grazie a Pydantic?

Riepilogo

Ha definito uno schema BaseModel, tipizzato la route con esso, aggiunto vincoli ai campi e lasciato che FastAPI rifiutasse automaticamente gli input non validi con chiari errori 422. Dati puliti in ingresso! 🙌

Domande Frequenti

La lezione «Convalidare le richieste con Pydantic» è gratuita?

Sì — il testo completo di «Convalidare le richieste con Pydantic» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MLOps Academy, passa a CoddyKit PRO. Il corso MLOps Academy include 4 lezioni in totale.

Cosa imparerò in «Convalidare le richieste con Pydantic»?

Rifiuti gli input malformati prima che raggiungano il modello. Eserciti MLOps Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare MLOps Academy?

Non è richiesta alcuna esperienza precedente. MLOps Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Convalidare le richieste con Pydantic»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione MLOps Academy?

Sì. Ogni lezione MLOps Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il primo endpoint /predict
  2. Convalidare le richieste con Pydantic
  3. Caricare il modello una sola volta all'avvio
  4. Aggiungere un controllo di readiness /health
← Torna a MLOps Academy