Openai-function-call vs openai-tool-calls

When deploying custom host models, there are two types of chat completion options: openai-function-call and openai-tool-calls. However, I haven’t found specific descriptions of these in the documentation. What are these?

When OpenAI first introduced the tool use functionality, they used a method called function_calls, which is formatted similarly to what TaskingAI uses now. For example:

"functions": [
    {
        "name": "make_scatter_plot",
        "description": "Generate a scatter plot from the given data",
        "parameters": {
            "type": "object",
            "properties": {
                "x_values": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "The x-axis values for the data points"
                },
                "y_values": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "description": "The y-axis values for the data points"
                }
            },
            "required": [
                "x_values",
                "y_values"
            ]
        }
    }
]

As you can see, OpenAI now uses a method called tool_calls, which has some differences. You can refer to their documentation for specific details at OpenAI’s function calling guide. This has resulted in two types of tool invocation methods available for major models on the market. TaskingAI needs to know whether your self-deployed model uses Tool_calls or function_calls in order to provide consistent service when you use it, making tool calls simple and easy to use.