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