Function Calling

[fànscion còling]

Capacità di un LLM di chiamare funzioni esterne (API, codice) restituendo argomenti strutturati. Base degli agenti IA.

Il function calling è la capacità di un LLM di restituire output strutturato che il tuo software può interpretare come "chiama questa funzione con questi argomenti". È il meccanismo base degli agenti IA.

Esempio:

Tu chiedi al modello: "Che tempo fa a Roma?"

Il modello, invece di inventarsi una risposta, restituisce JSON:

{
  "function": "get_weather",
  "arguments": {"city": "Roma"}
}

Il tuo codice intercetta questo JSON, chiama davvero l'API meteo per Roma, e restituisce il risultato al modello. Il modello ora ha dati reali e può rispondere correttamente.

Cosa permette:

  • Calcoli: il modello chiama una calcolatrice invece di sbagliare matematica.
  • Database: il modello chiama query su DB invece di inventare dati.
  • API esterne: meteo, news, prenotazioni, qualunque servizio.
  • Tool interni: file system, terminale, browser.
  • Multi-step workflows: il modello può chiamare più funzioni in sequenza.

Supporto modelli:

  • OpenAI: function calling nativo da GPT-3.5 turbo.
  • Anthropic Claude: tool use.
  • Google Gemini: function calling.
  • Modelli open: variabile, i top moderni lo supportano.

Versione strutturata: structured output (JSON mode), dove forzi il modello a rispondere secondo uno schema JSON preciso. Garantisce che il tuo software riceva sempre formato consistente.

Per chi sviluppa: il function calling è la chiave per usare LLM in produzione su task pratici. Senza, l'LLM è solo "chat", con, è un orchestratore di sistemi.