shared

package
v1.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2025 License: Apache-2.0 Imports: 5 Imported by: 32

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChatModel

type ChatModel = string
const (
	ChatModelGPT4_1                           ChatModel = "gpt-4.1"
	ChatModelGPT4_1Mini                       ChatModel = "gpt-4.1-mini"
	ChatModelGPT4_1Nano                       ChatModel = "gpt-4.1-nano"
	ChatModelGPT4_1_2025_04_14                ChatModel = "gpt-4.1-2025-04-14"
	ChatModelGPT4_1Mini2025_04_14             ChatModel = "gpt-4.1-mini-2025-04-14"
	ChatModelGPT4_1Nano2025_04_14             ChatModel = "gpt-4.1-nano-2025-04-14"
	ChatModelO4Mini                           ChatModel = "o4-mini"
	ChatModelO4Mini2025_04_16                 ChatModel = "o4-mini-2025-04-16"
	ChatModelO3                               ChatModel = "o3"
	ChatModelO3_2025_04_16                    ChatModel = "o3-2025-04-16"
	ChatModelO3Mini                           ChatModel = "o3-mini"
	ChatModelO3Mini2025_01_31                 ChatModel = "o3-mini-2025-01-31"
	ChatModelO1                               ChatModel = "o1"
	ChatModelO1_2024_12_17                    ChatModel = "o1-2024-12-17"
	ChatModelO1Preview                        ChatModel = "o1-preview"
	ChatModelO1Preview2024_09_12              ChatModel = "o1-preview-2024-09-12"
	ChatModelO1Mini                           ChatModel = "o1-mini"
	ChatModelO1Mini2024_09_12                 ChatModel = "o1-mini-2024-09-12"
	ChatModelGPT4o                            ChatModel = "gpt-4o"
	ChatModelGPT4o2024_11_20                  ChatModel = "gpt-4o-2024-11-20"
	ChatModelGPT4o2024_08_06                  ChatModel = "gpt-4o-2024-08-06"
	ChatModelGPT4o2024_05_13                  ChatModel = "gpt-4o-2024-05-13"
	ChatModelGPT4oAudioPreview                ChatModel = "gpt-4o-audio-preview"
	ChatModelGPT4oAudioPreview2024_10_01      ChatModel = "gpt-4o-audio-preview-2024-10-01"
	ChatModelGPT4oAudioPreview2024_12_17      ChatModel = "gpt-4o-audio-preview-2024-12-17"
	ChatModelGPT4oAudioPreview2025_06_03      ChatModel = "gpt-4o-audio-preview-2025-06-03"
	ChatModelGPT4oMiniAudioPreview            ChatModel = "gpt-4o-mini-audio-preview"
	ChatModelGPT4oMiniAudioPreview2024_12_17  ChatModel = "gpt-4o-mini-audio-preview-2024-12-17"
	ChatModelGPT4oSearchPreview               ChatModel = "gpt-4o-search-preview"
	ChatModelGPT4oMiniSearchPreview           ChatModel = "gpt-4o-mini-search-preview"
	ChatModelGPT4oSearchPreview2025_03_11     ChatModel = "gpt-4o-search-preview-2025-03-11"
	ChatModelGPT4oMiniSearchPreview2025_03_11 ChatModel = "gpt-4o-mini-search-preview-2025-03-11"
	ChatModelChatgpt4oLatest                  ChatModel = "chatgpt-4o-latest"
	ChatModelCodexMiniLatest                  ChatModel = "codex-mini-latest"
	ChatModelGPT4oMini                        ChatModel = "gpt-4o-mini"
	ChatModelGPT4oMini2024_07_18              ChatModel = "gpt-4o-mini-2024-07-18"
	ChatModelGPT4Turbo                        ChatModel = "gpt-4-turbo"
	ChatModelGPT4Turbo2024_04_09              ChatModel = "gpt-4-turbo-2024-04-09"
	ChatModelGPT4_0125Preview                 ChatModel = "gpt-4-0125-preview"
	ChatModelGPT4TurboPreview                 ChatModel = "gpt-4-turbo-preview"
	ChatModelGPT4_1106Preview                 ChatModel = "gpt-4-1106-preview"
	ChatModelGPT4VisionPreview                ChatModel = "gpt-4-vision-preview"
	ChatModelGPT4                             ChatModel = "gpt-4"
	ChatModelGPT4_0314                        ChatModel = "gpt-4-0314"
	ChatModelGPT4_0613                        ChatModel = "gpt-4-0613"
	ChatModelGPT4_32k                         ChatModel = "gpt-4-32k"
	ChatModelGPT4_32k0314                     ChatModel = "gpt-4-32k-0314"
	ChatModelGPT4_32k0613                     ChatModel = "gpt-4-32k-0613"
	ChatModelGPT3_5Turbo                      ChatModel = "gpt-3.5-turbo"
	ChatModelGPT3_5Turbo16k                   ChatModel = "gpt-3.5-turbo-16k"
	ChatModelGPT3_5Turbo0301                  ChatModel = "gpt-3.5-turbo-0301"
	ChatModelGPT3_5Turbo0613                  ChatModel = "gpt-3.5-turbo-0613"
	ChatModelGPT3_5Turbo1106                  ChatModel = "gpt-3.5-turbo-1106"
	ChatModelGPT3_5Turbo0125                  ChatModel = "gpt-3.5-turbo-0125"
	ChatModelGPT3_5Turbo16k0613               ChatModel = "gpt-3.5-turbo-16k-0613"
)

type ComparisonFilter

type ComparisonFilter struct {
	// The key to compare against the value.
	Key string `json:"key,required"`
	// Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`.
	//
	// - `eq`: equals
	// - `ne`: not equal
	// - `gt`: greater than
	// - `gte`: greater than or equal
	// - `lt`: less than
	// - `lte`: less than or equal
	//
	// Any of "eq", "ne", "gt", "gte", "lt", "lte".
	Type ComparisonFilterType `json:"type,required"`
	// The value to compare against the attribute key; supports string, number, or
	// boolean types.
	Value ComparisonFilterValueUnion `json:"value,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Key         respjson.Field
		Type        respjson.Field
		Value       respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

A filter used to compare a specified attribute key to a given value using a defined comparison operation.

func (ComparisonFilter) RawJSON

func (r ComparisonFilter) RawJSON() string

Returns the unmodified JSON received from the API

func (ComparisonFilter) ToParam

ToParam converts this ComparisonFilter to a ComparisonFilterParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with ComparisonFilterParam.Overrides()

func (*ComparisonFilter) UnmarshalJSON

func (r *ComparisonFilter) UnmarshalJSON(data []byte) error

type ComparisonFilterParam

type ComparisonFilterParam struct {
	// The key to compare against the value.
	Key string `json:"key,required"`
	// Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`.
	//
	// - `eq`: equals
	// - `ne`: not equal
	// - `gt`: greater than
	// - `gte`: greater than or equal
	// - `lt`: less than
	// - `lte`: less than or equal
	//
	// Any of "eq", "ne", "gt", "gte", "lt", "lte".
	Type ComparisonFilterType `json:"type,omitzero,required"`
	// The value to compare against the attribute key; supports string, number, or
	// boolean types.
	Value ComparisonFilterValueUnionParam `json:"value,omitzero,required"`
	// contains filtered or unexported fields
}

A filter used to compare a specified attribute key to a given value using a defined comparison operation.

The properties Key, Type, Value are required.

func (ComparisonFilterParam) MarshalJSON

func (r ComparisonFilterParam) MarshalJSON() (data []byte, err error)

func (*ComparisonFilterParam) UnmarshalJSON

func (r *ComparisonFilterParam) UnmarshalJSON(data []byte) error

type ComparisonFilterType

type ComparisonFilterType string

Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`.

- `eq`: equals - `ne`: not equal - `gt`: greater than - `gte`: greater than or equal - `lt`: less than - `lte`: less than or equal

const (
	ComparisonFilterTypeEq  ComparisonFilterType = "eq"
	ComparisonFilterTypeNe  ComparisonFilterType = "ne"
	ComparisonFilterTypeGt  ComparisonFilterType = "gt"
	ComparisonFilterTypeGte ComparisonFilterType = "gte"
	ComparisonFilterTypeLt  ComparisonFilterType = "lt"
	ComparisonFilterTypeLte ComparisonFilterType = "lte"
)

type ComparisonFilterValueUnion

type ComparisonFilterValueUnion struct {
	// This field will be present if the value is a [string] instead of an object.
	OfString string `json:",inline"`
	// This field will be present if the value is a [float64] instead of an object.
	OfFloat float64 `json:",inline"`
	// This field will be present if the value is a [bool] instead of an object.
	OfBool bool `json:",inline"`
	JSON   struct {
		OfString respjson.Field
		OfFloat  respjson.Field
		OfBool   respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

ComparisonFilterValueUnion contains all possible properties and values from [string], [float64], [bool].

Use the methods beginning with 'As' to cast the union to one of its variants.

If the underlying value is not a json object, one of the following properties will be valid: OfString OfFloat OfBool]

func (ComparisonFilterValueUnion) AsBool

func (u ComparisonFilterValueUnion) AsBool() (v bool)

func (ComparisonFilterValueUnion) AsFloat

func (u ComparisonFilterValueUnion) AsFloat() (v float64)

func (ComparisonFilterValueUnion) AsString

func (u ComparisonFilterValueUnion) AsString() (v string)

func (ComparisonFilterValueUnion) RawJSON

func (u ComparisonFilterValueUnion) RawJSON() string

Returns the unmodified JSON received from the API

func (*ComparisonFilterValueUnion) UnmarshalJSON

func (r *ComparisonFilterValueUnion) UnmarshalJSON(data []byte) error

type ComparisonFilterValueUnionParam

type ComparisonFilterValueUnionParam struct {
	OfString param.Opt[string]  `json:",omitzero,inline"`
	OfFloat  param.Opt[float64] `json:",omitzero,inline"`
	OfBool   param.Opt[bool]    `json:",omitzero,inline"`
	// contains filtered or unexported fields
}

Only one field can be non-zero.

Use param.IsOmitted to confirm if a field is set.

func (ComparisonFilterValueUnionParam) MarshalJSON

func (u ComparisonFilterValueUnionParam) MarshalJSON() ([]byte, error)

func (*ComparisonFilterValueUnionParam) UnmarshalJSON

func (u *ComparisonFilterValueUnionParam) UnmarshalJSON(data []byte) error

type CompoundFilter

type CompoundFilter struct {
	// Array of filters to combine. Items can be `ComparisonFilter` or
	// `CompoundFilter`.
	Filters []ComparisonFilter `json:"filters,required"`
	// Type of operation: `and` or `or`.
	//
	// Any of "and", "or".
	Type CompoundFilterType `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Filters     respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Combine multiple filters using `and` or `or`.

func (CompoundFilter) RawJSON

func (r CompoundFilter) RawJSON() string

Returns the unmodified JSON received from the API

func (CompoundFilter) ToParam

func (r CompoundFilter) ToParam() CompoundFilterParam

ToParam converts this CompoundFilter to a CompoundFilterParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with CompoundFilterParam.Overrides()

func (*CompoundFilter) UnmarshalJSON

func (r *CompoundFilter) UnmarshalJSON(data []byte) error

type CompoundFilterParam

type CompoundFilterParam struct {
	// Array of filters to combine. Items can be `ComparisonFilter` or
	// `CompoundFilter`.
	Filters []ComparisonFilterParam `json:"filters,omitzero,required"`
	// Type of operation: `and` or `or`.
	//
	// Any of "and", "or".
	Type CompoundFilterType `json:"type,omitzero,required"`
	// contains filtered or unexported fields
}

Combine multiple filters using `and` or `or`.

The properties Filters, Type are required.

func (CompoundFilterParam) MarshalJSON

func (r CompoundFilterParam) MarshalJSON() (data []byte, err error)

func (*CompoundFilterParam) UnmarshalJSON

func (r *CompoundFilterParam) UnmarshalJSON(data []byte) error

type CompoundFilterType

type CompoundFilterType string

Type of operation: `and` or `or`.

const (
	CompoundFilterTypeAnd CompoundFilterType = "and"
	CompoundFilterTypeOr  CompoundFilterType = "or"
)

type ErrorObject added in v1.1.0

type ErrorObject struct {
	Code    string `json:"code,required"`
	Message string `json:"message,required"`
	Param   string `json:"param,required"`
	Type    string `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Code        respjson.Field
		Message     respjson.Field
		Param       respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (ErrorObject) RawJSON added in v1.1.0

func (r ErrorObject) RawJSON() string

Returns the unmodified JSON received from the API

func (*ErrorObject) UnmarshalJSON added in v1.1.0

func (r *ErrorObject) UnmarshalJSON(data []byte) error

type FunctionDefinition added in v1.1.0

type FunctionDefinition struct {
	// 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.
	Name string `json:"name,required"`
	// A description of what the function does, used by the model to choose when and
	// how to call the function.
	Description string `json:"description"`
	// The parameters the functions accepts, described as a JSON Schema object. See the
	// [guide](https://platform.openai.com/docs/guides/function-calling) for examples,
	// and the
	// [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
	// documentation about the format.
	//
	// Omitting `parameters` defines a function with an empty parameter list.
	Parameters FunctionParameters `json:"parameters"`
	// 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).
	Strict bool `json:"strict,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Name        respjson.Field
		Description respjson.Field
		Parameters  respjson.Field
		Strict      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

func (FunctionDefinition) RawJSON added in v1.1.0

func (r FunctionDefinition) RawJSON() string

Returns the unmodified JSON received from the API

func (FunctionDefinition) ToParam added in v1.1.0

ToParam converts this FunctionDefinition to a FunctionDefinitionParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with FunctionDefinitionParam.Overrides()

func (*FunctionDefinition) UnmarshalJSON added in v1.1.0

func (r *FunctionDefinition) UnmarshalJSON(data []byte) error

type FunctionDefinitionParam

type FunctionDefinitionParam struct {
	// 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.
	Name string `json:"name,required"`
	// 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).
	Strict param.Opt[bool] `json:"strict,omitzero"`
	// A description of what the function does, used by the model to choose when and
	// how to call the function.
	Description param.Opt[string] `json:"description,omitzero"`
	// The parameters the functions accepts, described as a JSON Schema object. See the
	// [guide](https://platform.openai.com/docs/guides/function-calling) for examples,
	// and the
	// [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
	// documentation about the format.
	//
	// Omitting `parameters` defines a function with an empty parameter list.
	Parameters FunctionParameters `json:"parameters,omitzero"`
	// contains filtered or unexported fields
}

The property Name is required.

func (FunctionDefinitionParam) MarshalJSON

func (r FunctionDefinitionParam) MarshalJSON() (data []byte, err error)

func (*FunctionDefinitionParam) UnmarshalJSON

func (r *FunctionDefinitionParam) UnmarshalJSON(data []byte) error

type FunctionParameters

type FunctionParameters map[string]any

type Metadata

type Metadata map[string]string

type Reasoning

type Reasoning struct {
	// **o-series models only**
	//
	// Constrains effort on reasoning for
	// [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
	// supported values are `low`, `medium`, and `high`. Reducing reasoning effort can
	// result in faster responses and fewer tokens used on reasoning in a response.
	//
	// Any of "low", "medium", "high".
	Effort ReasoningEffort `json:"effort,nullable"`
	// **Deprecated:** use `summary` instead.
	//
	// A summary of the reasoning performed by the model. This can be useful for
	// debugging and understanding the model's reasoning process. One of `auto`,
	// `concise`, or `detailed`.
	//
	// Any of "auto", "concise", "detailed".
	//
	// Deprecated: deprecated
	GenerateSummary ReasoningGenerateSummary `json:"generate_summary,nullable"`
	// A summary of the reasoning performed by the model. This can be useful for
	// debugging and understanding the model's reasoning process. One of `auto`,
	// `concise`, or `detailed`.
	//
	// Any of "auto", "concise", "detailed".
	Summary ReasoningSummary `json:"summary,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Effort          respjson.Field
		GenerateSummary respjson.Field
		Summary         respjson.Field
		ExtraFields     map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

**o-series models only**

Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning).

func (Reasoning) RawJSON

func (r Reasoning) RawJSON() string

Returns the unmodified JSON received from the API

func (Reasoning) ToParam

func (r Reasoning) ToParam() ReasoningParam

ToParam converts this Reasoning to a ReasoningParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with ReasoningParam.Overrides()

func (*Reasoning) UnmarshalJSON

func (r *Reasoning) UnmarshalJSON(data []byte) error

type ReasoningEffort

type ReasoningEffort string

**o-series models only**

Constrains effort on reasoning for [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently supported values are `low`, `medium`, and `high`. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.

const (
	ReasoningEffortLow    ReasoningEffort = "low"
	ReasoningEffortMedium ReasoningEffort = "medium"
	ReasoningEffortHigh   ReasoningEffort = "high"
)

type ReasoningGenerateSummary

type ReasoningGenerateSummary string

**Deprecated:** use `summary` instead.

A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of `auto`, `concise`, or `detailed`.

const (
	ReasoningGenerateSummaryAuto     ReasoningGenerateSummary = "auto"
	ReasoningGenerateSummaryConcise  ReasoningGenerateSummary = "concise"
	ReasoningGenerateSummaryDetailed ReasoningGenerateSummary = "detailed"
)

type ReasoningParam

type ReasoningParam struct {
	// **o-series models only**
	//
	// Constrains effort on reasoning for
	// [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
	// supported values are `low`, `medium`, and `high`. Reducing reasoning effort can
	// result in faster responses and fewer tokens used on reasoning in a response.
	//
	// Any of "low", "medium", "high".
	Effort ReasoningEffort `json:"effort,omitzero"`
	// **Deprecated:** use `summary` instead.
	//
	// A summary of the reasoning performed by the model. This can be useful for
	// debugging and understanding the model's reasoning process. One of `auto`,
	// `concise`, or `detailed`.
	//
	// Any of "auto", "concise", "detailed".
	//
	// Deprecated: deprecated
	GenerateSummary ReasoningGenerateSummary `json:"generate_summary,omitzero"`
	// A summary of the reasoning performed by the model. This can be useful for
	// debugging and understanding the model's reasoning process. One of `auto`,
	// `concise`, or `detailed`.
	//
	// Any of "auto", "concise", "detailed".
	Summary ReasoningSummary `json:"summary,omitzero"`
	// contains filtered or unexported fields
}

**o-series models only**

Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning).

func (ReasoningParam) MarshalJSON

func (r ReasoningParam) MarshalJSON() (data []byte, err error)

func (*ReasoningParam) UnmarshalJSON

func (r *ReasoningParam) UnmarshalJSON(data []byte) error

type ReasoningSummary

type ReasoningSummary string

A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. One of `auto`, `concise`, or `detailed`.

const (
	ReasoningSummaryAuto     ReasoningSummary = "auto"
	ReasoningSummaryConcise  ReasoningSummary = "concise"
	ReasoningSummaryDetailed ReasoningSummary = "detailed"
)

type ResponseFormatJSONObject

type ResponseFormatJSONObject struct {
	// The type of response format being defined. Always `json_object`.
	Type constant.JSONObject `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

JSON object response format. An older method of generating JSON responses. Using `json_schema` is recommended for models that support it. Note that the model will not generate JSON without a system or user message instructing it to do so.

func (ResponseFormatJSONObject) ImplResponseFormatTextConfigUnion

func (ResponseFormatJSONObject) ImplResponseFormatTextConfigUnion()

func (ResponseFormatJSONObject) RawJSON

func (r ResponseFormatJSONObject) RawJSON() string

Returns the unmodified JSON received from the API

func (ResponseFormatJSONObject) ToParam

ToParam converts this ResponseFormatJSONObject to a ResponseFormatJSONObjectParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with ResponseFormatJSONObjectParam.Overrides()

func (*ResponseFormatJSONObject) UnmarshalJSON

func (r *ResponseFormatJSONObject) UnmarshalJSON(data []byte) error

type ResponseFormatJSONObjectParam

type ResponseFormatJSONObjectParam struct {
	// The type of response format being defined. Always `json_object`.
	Type constant.JSONObject `json:"type,required"`
	// contains filtered or unexported fields
}

JSON object response format. An older method of generating JSON responses. Using `json_schema` is recommended for models that support it. Note that the model will not generate JSON without a system or user message instructing it to do so.

This struct has a constant value, construct it with NewResponseFormatJSONObjectParam.

func NewResponseFormatJSONObjectParam

func NewResponseFormatJSONObjectParam() ResponseFormatJSONObjectParam

func (ResponseFormatJSONObjectParam) MarshalJSON

func (r ResponseFormatJSONObjectParam) MarshalJSON() (data []byte, err error)

func (*ResponseFormatJSONObjectParam) UnmarshalJSON

func (r *ResponseFormatJSONObjectParam) UnmarshalJSON(data []byte) error

type ResponseFormatJSONSchema added in v1.1.0

type ResponseFormatJSONSchema struct {
	// Structured Outputs configuration options, including a JSON Schema.
	JSONSchema ResponseFormatJSONSchemaJSONSchema `json:"json_schema,required"`
	// The type of response format being defined. Always `json_schema`.
	Type constant.JSONSchema `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		JSONSchema  respjson.Field
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

JSON Schema response format. Used to generate structured JSON responses. Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).

func (ResponseFormatJSONSchema) RawJSON added in v1.1.0

func (r ResponseFormatJSONSchema) RawJSON() string

Returns the unmodified JSON received from the API

func (ResponseFormatJSONSchema) ToParam added in v1.1.0

ToParam converts this ResponseFormatJSONSchema to a ResponseFormatJSONSchemaParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with ResponseFormatJSONSchemaParam.Overrides()

func (*ResponseFormatJSONSchema) UnmarshalJSON added in v1.1.0

func (r *ResponseFormatJSONSchema) UnmarshalJSON(data []byte) error

type ResponseFormatJSONSchemaJSONSchema added in v1.1.0

type ResponseFormatJSONSchemaJSONSchema struct {
	// 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.
	Name string `json:"name,required"`
	// A description of what the response format is for, used by the model to determine
	// how to respond in the format.
	Description string `json:"description"`
	// The schema for the response format, described as a JSON Schema object. Learn how
	// to build JSON schemas [here](https://json-schema.org/).
	Schema map[string]any `json:"schema"`
	// 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](https://platform.openai.com/docs/guides/structured-outputs).
	Strict bool `json:"strict,nullable"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Name        respjson.Field
		Description respjson.Field
		Schema      respjson.Field
		Strict      respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Structured Outputs configuration options, including a JSON Schema.

func (ResponseFormatJSONSchemaJSONSchema) RawJSON added in v1.1.0

Returns the unmodified JSON received from the API

func (*ResponseFormatJSONSchemaJSONSchema) UnmarshalJSON added in v1.1.0

func (r *ResponseFormatJSONSchemaJSONSchema) UnmarshalJSON(data []byte) error

type ResponseFormatJSONSchemaJSONSchemaParam

type ResponseFormatJSONSchemaJSONSchemaParam struct {
	// 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.
	Name string `json:"name,required"`
	// 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](https://platform.openai.com/docs/guides/structured-outputs).
	Strict param.Opt[bool] `json:"strict,omitzero"`
	// A description of what the response format is for, used by the model to determine
	// how to respond in the format.
	Description param.Opt[string] `json:"description,omitzero"`
	// The schema for the response format, described as a JSON Schema object. Learn how
	// to build JSON schemas [here](https://json-schema.org/).
	Schema any `json:"schema,omitzero"`
	// contains filtered or unexported fields
}

Structured Outputs configuration options, including a JSON Schema.

The property Name is required.

func (ResponseFormatJSONSchemaJSONSchemaParam) MarshalJSON

func (r ResponseFormatJSONSchemaJSONSchemaParam) MarshalJSON() (data []byte, err error)

func (*ResponseFormatJSONSchemaJSONSchemaParam) UnmarshalJSON

func (r *ResponseFormatJSONSchemaJSONSchemaParam) UnmarshalJSON(data []byte) error

type ResponseFormatJSONSchemaParam

type ResponseFormatJSONSchemaParam struct {
	// Structured Outputs configuration options, including a JSON Schema.
	JSONSchema ResponseFormatJSONSchemaJSONSchemaParam `json:"json_schema,omitzero,required"`
	// The type of response format being defined. Always `json_schema`.
	//
	// This field can be elided, and will marshal its zero value as "json_schema".
	Type constant.JSONSchema `json:"type,required"`
	// contains filtered or unexported fields
}

JSON Schema response format. Used to generate structured JSON responses. Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).

The properties JSONSchema, Type are required.

func (ResponseFormatJSONSchemaParam) MarshalJSON

func (r ResponseFormatJSONSchemaParam) MarshalJSON() (data []byte, err error)

func (*ResponseFormatJSONSchemaParam) UnmarshalJSON

func (r *ResponseFormatJSONSchemaParam) UnmarshalJSON(data []byte) error

type ResponseFormatText

type ResponseFormatText struct {
	// The type of response format being defined. Always `text`.
	Type constant.Text `json:"type,required"`
	// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
	JSON struct {
		Type        respjson.Field
		ExtraFields map[string]respjson.Field
		// contains filtered or unexported fields
	} `json:"-"`
}

Default response format. Used to generate text responses.

func (ResponseFormatText) ImplResponseFormatTextConfigUnion

func (ResponseFormatText) ImplResponseFormatTextConfigUnion()

func (ResponseFormatText) RawJSON

func (r ResponseFormatText) RawJSON() string

Returns the unmodified JSON received from the API

func (ResponseFormatText) ToParam

ToParam converts this ResponseFormatText to a ResponseFormatTextParam.

Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with ResponseFormatTextParam.Overrides()

func (*ResponseFormatText) UnmarshalJSON

func (r *ResponseFormatText) UnmarshalJSON(data []byte) error

type ResponseFormatTextParam

type ResponseFormatTextParam struct {
	// The type of response format being defined. Always `text`.
	Type constant.Text `json:"type,required"`
	// contains filtered or unexported fields
}

Default response format. Used to generate text responses.

This struct has a constant value, construct it with NewResponseFormatTextParam.

func NewResponseFormatTextParam

func NewResponseFormatTextParam() ResponseFormatTextParam

func (ResponseFormatTextParam) MarshalJSON

func (r ResponseFormatTextParam) MarshalJSON() (data []byte, err error)

func (*ResponseFormatTextParam) UnmarshalJSON

func (r *ResponseFormatTextParam) UnmarshalJSON(data []byte) error

type ResponsesModel

type ResponsesModel = string
const (
	ResponsesModelO1Pro                        ResponsesModel = "o1-pro"
	ResponsesModelO1Pro2025_03_19              ResponsesModel = "o1-pro-2025-03-19"
	ResponsesModelO3Pro                        ResponsesModel = "o3-pro"
	ResponsesModelO3Pro2025_06_10              ResponsesModel = "o3-pro-2025-06-10"
	ResponsesModelO3DeepResearch               ResponsesModel = "o3-deep-research"
	ResponsesModelO3DeepResearch2025_06_26     ResponsesModel = "o3-deep-research-2025-06-26"
	ResponsesModelO4MiniDeepResearch           ResponsesModel = "o4-mini-deep-research"
	ResponsesModelO4MiniDeepResearch2025_06_26 ResponsesModel = "o4-mini-deep-research-2025-06-26"
	ResponsesModelComputerUsePreview           ResponsesModel = "computer-use-preview"
	ResponsesModelComputerUsePreview2025_03_11 ResponsesModel = "computer-use-preview-2025-03-11"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL