ChatGPT function calling: tool integration

Function calling: ChatGPT che usa i tuoi tool

Il function calling permette a ChatGPT di chiamare funzioni e API esterne in modo strutturato. E' il meccanismo alla base degli Agents e di ogni integrazione AI-to-system seria.

Come funziona

  1. Tu fornisci all'API una lista di tools con nome, descrizione e schema parametri
  2. L'utente fa una domanda
  3. Il modello decide se chiamare un tool, quale e con quali argomenti
  4. L'API risponde con un tool_call al posto del testo
  5. Il tuo codice esegue la funzione reale (chiama DB, API esterna, calcolo)
  6. Reinietti il risultato come messaggio role="tool"
  7. Il modello genera la risposta finale all'utente integrando il risultato

Esempio Python: meteo

tools = [{
    "type": "function",
    "function": {
        "name": "get_meteo",
        "description": "Restituisce meteo attuale per una città",
        "parameters": {
            "type": "object",
            "properties": {
                "città": {"type": "string"},
                "unita": {"type": "string", "enum": ["celsius", "fahrenheit"]}
            },
            "required": ["città"],
            "additionalProperties": false
        },
        "strict": true
    }
}]

resp = client.chat.completions.create(
    model="gpt-5-mini",
    tools=tools,
    messages=[{"role": "user", "content": "Che tempo fa a Milano?"}]
)

Se il modello decide di usare il tool, in resp.choices[0].message.tool_calls trovi nome funzione e argomenti JSON-parsabili.

Best practice

  • Description chiare: scrivi descrizioni dettagliate, il modello le usa per decidere quando chiamare il tool
  • Strict mode: strict: true garantisce argomenti conformi allo schema
  • Parametri minimali: meno parametri = meno errori
  • Tool naming consistente: snake_case, verbi descrittivi (get_, create_, update_)
  • Limita numero tool: oltre 20 tool nello stesso prompt la qualità degrada

Parallel function calling

Il modello puo chiamare più funzioni in parallelo se la richiesta lo richiede (es. "meteo a Milano e Roma"). Devi eseguirle in parallelo lato server per ridurre latenza.

Sicurezza

  • Non fidarti mai degli argomenti generati: valida sempre lato server
  • Logga ogni tool call per audit
  • Limita azioni distruttive (DELETE, payment) con conferme esplicite
  • Usa permessi separati per ogni tool, principio least privilege

Differenza con Custom GPTs Actions

Le Actions dei Custom GPTs sono function calling "impacchettato" via OpenAPI schema su ChatGPT web. Sotto il cofano e' lo stesso meccanismo.

Casi d'uso aziendali

  • Chatbot CRM che legge anagrafiche e crea opportunita
  • Helpdesk che apre ticket nei sistemi esistenti
  • Assistenti ERP che lanciano report
  • Bot operativi con accesso controllato a DB

Vuoi integrare ChatGPT con i tuoi sistemi via function calling? G Tech Group sviluppa integrazioni AI-CRM-ERP. Richiedi info.

Hai trovato utile quest'articolo?