Skip to main content
Function calling (also called tool calling) lets LLMs respond with structured function names and arguments that you can execute in your application. It enables models to interact with external systems, retrieve real-time data, and power agentic AI workflows. Pass function descriptions to the tools parameter, and the model returns tool_calls when it determines a function should be used. You then execute these functions and optionally pass the results back to the model for further processing.

Patterns

Function calling fits a handful of common shapes. Pick the one that matches what you’re building, then follow the link for runnable Python, TypeScript, and cURL examples.

Supported models

For the current list of models that support function calling, see the serverless and dedicated model inference catalogs.

Next steps

Call functions

One tool call per response (simple and multiple).

Call functions in parallel

Multiple tool calls in one response.

Agentic patterns

Multi-step and multi-turn loops.

Vision-language function calling

Combine image understanding with tool use on VLMs.

Best practices

Design tools and control selection for reliable calls.