Class: OpenAI::Models::ResponseFormatJSONSchema::JSONSchema

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

Overview

See Also:

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, schema: nil, strict: nil) ⇒ Object

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

Structured Outputs configuration options, including a JSON Schema.

Parameters:

  • name (String) (defaults to: )

    The name of the response format. Must be a-z, A-Z, 0-9, or contain

  • description (String) (defaults to: nil)

    A description of what the response format is for, used by the model to

  • schema (Hash{Symbol=>Object}, OpenAI::StructuredOutput::JsonSchemaConverter) (defaults to: nil)

    The schema for the response format, described as a JSON Schema object.

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

    Whether to enable strict schema adherence when generating the output.



# File 'lib/openai/models/response_format_json_schema.rb', line 69

Instance Attribute Details

#descriptionString?

A description of what the response format is for, used by the model to determine how to respond in the format.

Returns:

  • (String, nil)


44
# File 'lib/openai/models/response_format_json_schema.rb', line 44

optional :description, String

#nameString

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

Returns:

  • (String)


37
# File 'lib/openai/models/response_format_json_schema.rb', line 37

required :name, String

#schemaHash{Symbol=>Object}?

The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas [here](json-schema.org/).

Returns:

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


51
52
53
54
55
56
57
# File 'lib/openai/models/response_format_json_schema.rb', line 51

optional :schema,
union: -> {
  OpenAI::StructuredOutput::UnionOf[
    OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown],
    OpenAI::StructuredOutput::JsonSchemaConverter
  ]
}

#strictBoolean?

Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the ‘schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](platform.openai.com/docs/guides/structured-outputs).

Returns:



67
# File 'lib/openai/models/response_format_json_schema.rb', line 67

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