
Wat is Function Calling?
Function calling is het mechanisme waarmee een taalmodel externe functies of tools kan aanroepen door gestructureerde argumenten te genereren. In plaats van alleen tekst te produceren, "besluit" het model dat het een functie nodig heeft, genereert de juiste parameters, en ontvangt het resultaat om zijn antwoord te completeren.
Waarom het ertoe doet
Function calling transformeert LLM's van passieve tekstgeneratoren naar actieve systemen die acties kunnen uitvoeren. Het is de technische basis van AI-agents: modellen die e-mails versturen, databases doorzoeken, berekeningen uitvoeren, API's aanroepen en taken automatiseren. Zonder function calling zou een LLM alleen maar over acties kunnen praten, niet ze daadwerkelijk uitvoeren.
Hoe het werkt
Het proces:
- Functiedefinitie — de ontwikkelaar definieert beschikbare functies met naam, beschrijving en parameters
- Modelverzoek — de gebruiker stelt een vraag
- Functiebeslissing — het model bepaalt welke functie relevant is
- Argumentgeneratie — het model genereert de functieparameters als JSON
- Uitvoering — de applicatie voert de functie uit (niet het model zelf)
- Resultaatverwerking — het resultaat wordt teruggegeven aan het model voor het eindantwoord
Belangrijk: het model roept de functie niet zelf aan — het genereert alleen de aanroeproep. De applicatiecode voert de daadwerkelijke actie uit.
Voorbeeldfunctiedefinitie:
1 { 2 "name": "get_weather", 3 "description": "Haal het weer op voor een locatie", 4 "parameters": { 5 "location": {"type": "string"}, 6 "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]} 7 } 8 }
Providers met function calling:
- OpenAI (GPT-4), Anthropic (Claude), Google (Gemini)
- Parallel function calling — meerdere functies tegelijk
- Forced function calling — verplicht het model een specifieke functie te gebruiken
Voorbeeld
Een gebruiker vraagt: "Wat is het weer in Amsterdam en boek een taxi naar Schiphol." Het model genereert twee functieaanroepen: get_weather({"location": "Amsterdam"}) en book_taxi({"pickup": "huidige locatie", "destination": "Schiphol"}). De applicatie voert beide functies uit en het model formuleert een samenhangend antwoord met de resultaten.