Open AI Function calls

Cover Image for Open AI Function calls

How Open AI function calling enables developers to create powerful applications

What is Open AI Function Calling?

Open AI function calling is a feature introduced in GPT-3.5-turbo and GPT-4 models that allows developers to describe programming functions and have the models create code to execute those functions. This capability enables developers to retrieve structured outputs from the models for machine consumption, such as JSON, making it easier to integrate OpenAI function calling into their applications.

Applications of Function Calling

Function calling can be used for various purposes, including:

  • Creating chatbots that answer questions by calling external tools
  • Converting natural language into database queries
  • Extracting structured data from unstructured text

For example, in a trip booking application, you might use function calling to book flights and accommodations. The function call's output would be in a machine-readable format, such as JSON, allowing your program to schedule trips for users efficiently.

Implementing Function Calling

To use OpenAI function calling effectively, you must first declare a set of functions that the model can call. You can specify these functions using JSON Schema and guide the model to invoke those functions based on user input, creating a JSON object with the necessary function arguments.

Here's an example of how to implement function calling using the Chat Completions API:

  1. Import the required libraries and set up your API key:
import os
import openai
import requests

openai.api_key = os.getenv("OPENAI_API_KEY")
GPT_MODEL ="gpt-3.5-turbo-0613"
  1. Define a function that calls the Chat Completions API and maintains conversation state:
def chat_completion_request(messages, functions=None, function_call=None, model=GPT_MODEL):
  # Code to call the Chat Completions API
  1. Create function specifications to interface with an external API, such as a Travel API, and pass these function specifications to the Chat Completions API to generate function arguments that adhere to the specification.
  2. Handle the function response and send it back to the model for further processing or generating a user-friendly response.

Tips and Tricks

  • Ensure that the names of your functions are easy to understand
  • Test your functions rigorously before putting them into production


Open AI function calling is a powerful tool that allows developers to connect external tools, APIs, and services in a more reliable and structured manner. By understanding the available functions, their parameters, and correct syntax, developers can harness the power of function calling to enhance their applications with structured and reliable data.

More Stories