0Pricing
Deep Learning Academy · Lezione

Servire con FastAPI

Avvolga l'inferenza in un endpoint REST

Servire con FastAPI è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 4 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 Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.

Dal modello salvato all'API attiva

Un modello addestrato è utile agli utenti solo quando è raggiungibile. FastAPI avvolge il modello in un endpoint web che possono chiamare tramite HTTP. 🌍

Perché FastAPI è adatto all'inferenza

FastAPI è veloce, compatibile con l'asincronia e genera automaticamente la documentazione. È quindi un modo semplice per fornire le predizioni del modello come servizio REST.

Caricare il modello una sola volta all'avvio

Carichi il modello una sola volta quando il server si avvia, non a ogni richiesta. Caricarlo a ogni chiamata renderebbe ogni predizione terribilmente lenta.

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

Creare l'app

Inizi creando un'istanza di FastAPI. Questo oggetto contiene le route e diventa il server da eseguire.

from fastapi import FastAPI
app = FastAPI()

Validare l'input con Pydantic

Definisca un modello Pydantic per il corpo della richiesta, così FastAPI controllerà automaticamente forma e tipi dei dati in ingresso.

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

Definire una route di predizione

Una route POST riceve i dati validati, esegue il modello e restituisce il risultato in formato JSON, leggibile dal client.

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

Eseguire l'inferenza senza gradienti

Inserisca il forward pass in torch.no_grad(), così il server evita di tracciare i gradienti e risparmia tempo e memoria a ogni chiamata.

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

Restituire una risposta JSON pulita

Converta l'output del tensor in semplici numeri Python prima di restituirlo, poiché i tensor grezzi non sono direttamente serializzabili in JSON.

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

Servire l'app con Uvicorn

Uvicorn è il server che esegue l'app FastAPI. Un solo comando rende disponibile online l'endpoint di predizione. 🚀

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

Esplorare la documentazione automatica

FastAPI crea una documentazione interattiva al percorso /docs, così Lei e i Suoi client potete testare l'endpoint direttamente nel browser.

Aggiungere una route di health check

Un piccolo endpoint di health consente ai load balancer di confermare che il server sia attivo: un dettaglio semplice che rende la distribuzione molto più affidabile.

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

Controllo rapido

Desidera che ogni richiesta venga validata automaticamente per verificare campi e tipi corretti. Che cosa svolge questa funzione?

Riepilogo: il modello è online

Ha pubblicato un modello con FastAPI: lo ha caricato all'avvio, validato con Pydantic, eseguito sotto no_grad e avviato con Uvicorn. 🎉

Domande Frequenti

La lezione «Servire con FastAPI» è gratuita?

Sì — il testo completo di «Servire con FastAPI» è 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 Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.

Cosa imparerò in «Servire con FastAPI»?

Avvolga l'inferenza in un endpoint REST Eserciti Deep Learning 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 Deep Learning Academy?

Non è richiesta alcuna esperienza precedente. Deep Learning 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 4 di 4.

Quanto tempo richiede la lezione «Servire con FastAPI»?

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 Deep Learning Academy?

Sì. Ogni lezione Deep Learning 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. TorchScript e torch.compile
  2. Esportare in ONNX
  3. Quantizzazione per modelli più piccoli e veloci
  4. Servire con FastAPI
← Torna a Deep Learning Academy