Function calling lets you connect models to external tools and APIs. Instead of generating text responses, the model determines when to call specific functions and provides the necessary parameters to execute real-world actions. 

LLMs determine when to use function calling by analyzing the user prompt to detect if it requires executing an external function or tool.