View Source ExOpenAI.Components.ToolChoiceAllowed (ex_openai.ex v2.0.0-beta2)

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

Fields

  • :mode - required - :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.
Allowed values: "auto", "required"

  • :tools - required - [map()]
    A list of tool definitions that the model should be allowed to call.

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

[
  { "type": "function", "name": "get_weather" },
  { "type": "mcp", "server_label": "deepwiki" },
  { "type": "image_generation" }
]
  • :type - required - :allowed_tools
    Allowed tool configuration type. Always allowed_tools.
    Allowed values: "allowed_tools"

Summary

Types

@type t() :: %ExOpenAI.Components.ToolChoiceAllowed{
  mode: :auto | :required,
  tools: [map()],
  type: :allowed_tools
}