Constrains the tools available to the model to a pre-defined set.

interface ChatCompletionAllowedTools {
    mode: "auto" | "required";
    tools: {
        [key: string]: unknown;
    }[];
}

Properties

Properties

mode: "auto" | "required"

Constrains the tools available to the model to a pre-defined set.

auto allows the model to pick from among the allowed tools and generate a message.

required requires the model to call one or more of the allowed tools.

tools: {
    [key: string]: unknown;
}[]

A list of tool definitions that the model should be allowed to call.

For the Chat Completions API, the list of tool definitions might look like:

[
{ "type": "function", "function": { "name": "get_weather" } },
{ "type": "function", "function": { "name": "get_time" } }
]