Class: OpenAI::Models::FunctionDefinition

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/function_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(name: , description: nil, parameters: nil, strict: nil) ⇒ Object

Some parameter documentations has been truncated, see OpenAI::Models::FunctionDefinition for more details.

Parameters:

  • name (String) (defaults to: )

    The name of the function to be called. Must be a-z, A-Z, 0-9, or contain undersc

  • description (String) (defaults to: nil)

    A description of what the function does, used by the model to choose when and ho

  • parameters (Hash{Symbol=>Object}) (defaults to: nil)

    The parameters the functions accepts, described as a JSON Schema object. See the

  • strict (Boolean, nil) (defaults to: nil)

    Whether to enable strict schema adherence when generating the function call. If



# File 'lib/openai/models/function_definition.rb', line 42

Instance Attribute Details

#descriptionString?

A description of what the function does, used by the model to choose when and how to call the function.

Returns:

  • (String, nil)


18
# File 'lib/openai/models/function_definition.rb', line 18

optional :description, String

#nameString

The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.

Returns:

  • (String)


11
# File 'lib/openai/models/function_definition.rb', line 11

required :name, String

#parametersHash{Symbol=>Object}?

The parameters the functions accepts, described as a JSON Schema object. See the [guide](platform.openai.com/docs/guides/function-calling) for examples, and the [JSON Schema reference](json-schema.org/understanding-json-schema/) for documentation about the format.

Omitting ‘parameters` defines a function with an empty parameter list.

Returns:

  • (Hash{Symbol=>Object}, nil)


30
# File 'lib/openai/models/function_definition.rb', line 30

optional :parameters, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]

#strictBoolean?

Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the ‘parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs/guides/function-calling).

Returns:



40
# File 'lib/openai/models/function_definition.rb', line 40

optional :strict, OpenAI::Internal::Type::Boolean, nil?: true