loading
loading
The mechanism where you describe your functions to the model and it replies with structured JSON saying which one to call and with what arguments.
You give the model a schema of available functions (name, description, parameters), and instead of free text it returns a structured call like {"name": "get_weather", "args": {"city": "Paris"}} that your code executes. The model never runs anything itself — it just decides and fills in arguments; you own the execution and feed the result back. This is the API-level primitive that makes tool use and agent loops reliable instead of you parsing intentions out of prose.
Plainly
Think of Function Calling as a simple recipe for doing the work better. The mechanism where you describe your functions to the model and it replies with structured JSON saying which one to call and with what arguments.
In practice
Use it when you need a repeatable method instead of guessing from vibes. In practice, define the owner, input, output, and failure mode before you rely on it.