Usare i modelli via API: introduzione per sviluppatori

Chiavi, richieste, messaggi di sistema, streaming, tool use, costi e buone pratiche per integrare un LLM nel tuo software.

Nel corso: lezione 27 — Le API dei modelli: usare l'AI dentro i tuoi programmi (esce lun 3 mag) →

Le API permettono di usare i modelli dentro i tuoi programmi: un chatbot sul sito, un classificatore di ticket, un estrattore di dati da PDF. Tutti i grandi fornitori (OpenAI, Anthropic, Google, Mistral…) offrono API simili.

Anatomia di una richiesta

Una chiamata contiene in genere:

  • Modello da usare.
  • Messaggi: ruolo (system, user, assistant) e contenuto.
  • Parametri: lunghezza massima, temperatura, formato di output.

Esempio concettuale in Python (la sintassi esatta varia per fornitore: consulta la documentazione ufficiale):

risposta = client.messages.create(
    model="NOME_DEL_MODELLO",
    max_tokens=500,
    system="Sei un assistente che risponde in italiano, in modo conciso.",
    messages=[{"role": "user", "content": "Riassumi: ..."}],
)
print(risposta.content)

I concetti da padroneggiare

Concetto Perché conta
Prompt di sistema Definisce ruolo, regole e formato per tutta la conversazione
Output strutturato JSON validato: indispensabile per integrare le risposte nel codice
Streaming Mostra la risposta mentre viene generata: UX migliore
Tool use / function calling Il modello chiede di eseguire funzioni (cerca ordine, leggi database)
Caching dei prompt Riduce costi e tempi quando riusi lunghi contesti
Batch Elaborazioni massive a costo ridotto, non in tempo reale
Modelli multimodali Passare immagini o PDF insieme al testo

Tool use in breve

  1. Descrivi al modello le funzioni disponibili (nome, parametri, descrizione).
  2. Il modello decide di chiamarne una e restituisce gli argomenti.
  3. Il tuo codice la esegue e restituisce il risultato.
  4. Il modello compone la risposta finale.

È la base di agenti e MCP.

Costi

Paghi in genere per token di input e di output, con prezzi diversi per modello. Per tenerli sotto controllo:

  • Scegli il modello più piccolo che basta.
  • Riduci il contesto inviato (solo ciò che serve).
  • Usa caching e batch dove possibile.
  • Imposta limiti di spesa e allarmi.

Buone pratiche di produzione

  1. Mai chiavi API nel codice client o nei repository: variabili d'ambiente e server.
  2. Gestisci errori e limiti di velocità con riprova e backoff.
  3. Valida gli output prima di usarli.
  4. Registra richieste e risposte (con attenzione ai dati personali).
  5. Testa con un set di casi (evaluation) ad ogni cambio di prompt o modello.
  6. Difenditi dalla prompt injection: tratta gli input esterni come non fidati.

Prossimi passi: RAG, modelli in locale.

Continua a imparare