Function Calling
The model outputs a clean, structured request to run a specific function — name plus arguments — instead of free text.
Think of it like
Filling out a proper order form with the exact fields, rather than scrawling your request on a napkin.
Example
You describe a `send_email(to, subject, body)` function; the model replies with those three fields filled in, and your code sends it.
How it actually works
You hand the model a list of functions and their argument shapes. When it decides one applies, it returns valid structured output — usually JSON — matching that shape, which your program parses and executes. It is the backbone of tool use because it makes the model’s intent machine-readable instead of something you have to scrape out of a sentence.
For product teams
It is what makes a model a reliable trigger for real actions, not just a text box.
For engineers
Constrained generation of a JSON payload matching a declared function schema, dispatched by the host application.
Related
- Tool Use — The broader idea it makes reliable.
- Tool Schema — The contract that says what the arguments must look like.
- Tool Result — What comes back after the function runs.
Read anything AI without the jargon
Look up any term in plain English, or save terms as you read with the free Chrome extension.
Open DecoderAdd to Chrome