Documentation
¶
Index ¶
- type ChatModel
- type ComparisonFilter
- type ComparisonFilterParam
- type ComparisonFilterType
- type ComparisonFilterValueUnion
- type ComparisonFilterValueUnionParam
- type CompoundFilter
- type CompoundFilterParam
- type CompoundFilterType
- type ErrorObject
- type FunctionDefinition
- type FunctionDefinitionParam
- type FunctionParameters
- type Metadata
- type Reasoning
- type ReasoningEffort
- type ReasoningGenerateSummary
- type ReasoningParam
- type ReasoningSummary
- type ResponseFormatJSONObject
- type ResponseFormatJSONObjectParam
- type ResponseFormatJSONSchema
- type ResponseFormatJSONSchemaJSONSchema
- type ResponseFormatJSONSchemaJSONSchemaParam
- type ResponseFormatJSONSchemaParam
- type ResponseFormatText
- type ResponseFormatTextParam
- type ResponsesModel
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 ¶
func (r ComparisonFilter) ToParam() ComparisonFilterParam
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](https://platform.openai.com/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
func (r FunctionDefinition) ToParam() FunctionDefinitionParam
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](https://platform.openai.com/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 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) 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 ¶
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 ¶
func (r ResponseFormatJSONObject) ToParam() ResponseFormatJSONObjectParam
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
func (r ResponseFormatJSONSchema) ToParam() ResponseFormatJSONSchemaParam
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
func (r ResponseFormatJSONSchemaJSONSchema) RawJSON() string
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 ¶
func (r ResponseFormatText) ToParam() ResponseFormatTextParam
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" )