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.
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
- Descrivi al modello le funzioni disponibili (nome, parametri, descrizione).
- Il modello decide di chiamarne una e restituisce gli argomenti.
- Il tuo codice la esegue e restituisce il risultato.
- Il modello compone la risposta finale.
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
- Mai chiavi API nel codice client o nei repository: variabili d'ambiente e server.
- Gestisci errori e limiti di velocità con riprova e backoff.
- Valida gli output prima di usarli.
- Registra richieste e risposte (con attenzione ai dati personali).
- Testa con un set di casi (evaluation) ad ogni cambio di prompt o modello.
- Difenditi dalla prompt injection: tratta gli input esterni come non fidati.
Prossimi passi: RAG, modelli in locale.