Define typed function signatures that models can invoke — the bridge between natural language and programmatic action.
Five passes over the same idea, each from a different angle. Do them in order, or jump to whichever you need.
Function calling lets you declare tools as JSON Schema function definitions. The model decides when to call them, generates typed arguments, and your code executes the function. This is how LLMs integrate with databases, APIs, file systems, and other tools. Parallel function calling, forced tool choice, and multi-turn tool use are advanced patterns.
Where this topic shows up outside its home domain: