Documentation
¶
Index ¶
- type ChatModel
- type ComparisonFilter
- type ComparisonFilterParam
- type ComparisonFilterType
- type ComparisonFilterValueUnion
- type ComparisonFilterValueUnionParam
- type CompoundFilter
- type CompoundFilterParam
- type CompoundFilterType
- type CustomToolInputFormatGrammar
- type CustomToolInputFormatGrammarParam
- type CustomToolInputFormatText
- type CustomToolInputFormatTextParam
- type CustomToolInputFormatUnion
- func (u CustomToolInputFormatUnion) AsAny() anyCustomToolInputFormat
- func (u CustomToolInputFormatUnion) AsGrammar() (v CustomToolInputFormatGrammar)
- func (u CustomToolInputFormatUnion) AsText() (v CustomToolInputFormatText)
- func (u CustomToolInputFormatUnion) RawJSON() string
- func (r CustomToolInputFormatUnion) ToParam() CustomToolInputFormatUnionParam
- func (r *CustomToolInputFormatUnion) UnmarshalJSON(data []byte) error
- type CustomToolInputFormatUnionParam
- func (u CustomToolInputFormatUnionParam) GetDefinition() *string
- func (u CustomToolInputFormatUnionParam) GetSyntax() *string
- func (u CustomToolInputFormatUnionParam) GetType() *string
- func (u CustomToolInputFormatUnionParam) MarshalJSON() ([]byte, error)
- func (u *CustomToolInputFormatUnionParam) UnmarshalJSON(data []byte) error
- 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 ( ChatModelGPT5 ChatModel = "gpt-5" ChatModelGPT5Mini ChatModel = "gpt-5-mini" ChatModelGPT5Nano ChatModel = "gpt-5-nano" ChatModelGPT5_2025_08_07 ChatModel = "gpt-5-2025-08-07" ChatModelGPT5Mini2025_08_07 ChatModel = "gpt-5-mini-2025-08-07" ChatModelGPT5Nano2025_08_07 ChatModel = "gpt-5-nano-2025-08-07" ChatModelGPT5ChatLatest ChatModel = "gpt-5-chat-latest" 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 CustomToolInputFormatGrammar ¶
type CustomToolInputFormatGrammar struct { // The grammar definition. Definition string `json:"definition,required"` // The syntax of the grammar definition. One of `lark` or `regex`. // // Any of "lark", "regex". Syntax string `json:"syntax,required"` // Grammar format. Always `grammar`. Type constant.Grammar `json:"type,required"` // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { Definition respjson.Field Syntax respjson.Field Type respjson.Field ExtraFields map[string]respjson.Field // contains filtered or unexported fields } `json:"-"` }
A grammar defined by the user.
func (CustomToolInputFormatGrammar) RawJSON ¶
func (r CustomToolInputFormatGrammar) RawJSON() string
Returns the unmodified JSON received from the API
func (*CustomToolInputFormatGrammar) UnmarshalJSON ¶
func (r *CustomToolInputFormatGrammar) UnmarshalJSON(data []byte) error
type CustomToolInputFormatGrammarParam ¶
type CustomToolInputFormatGrammarParam struct { // The grammar definition. Definition string `json:"definition,required"` // The syntax of the grammar definition. One of `lark` or `regex`. // // Any of "lark", "regex". Syntax string `json:"syntax,omitzero,required"` // Grammar format. Always `grammar`. // // This field can be elided, and will marshal its zero value as "grammar". Type constant.Grammar `json:"type,required"` // contains filtered or unexported fields }
A grammar defined by the user.
The properties Definition, Syntax, Type are required.
func (CustomToolInputFormatGrammarParam) MarshalJSON ¶
func (r CustomToolInputFormatGrammarParam) MarshalJSON() (data []byte, err error)
func (*CustomToolInputFormatGrammarParam) UnmarshalJSON ¶
func (r *CustomToolInputFormatGrammarParam) UnmarshalJSON(data []byte) error
type CustomToolInputFormatText ¶
type CustomToolInputFormatText struct { // Unconstrained text format. 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:"-"` }
Unconstrained free-form text.
func (CustomToolInputFormatText) RawJSON ¶
func (r CustomToolInputFormatText) RawJSON() string
Returns the unmodified JSON received from the API
func (*CustomToolInputFormatText) UnmarshalJSON ¶
func (r *CustomToolInputFormatText) UnmarshalJSON(data []byte) error
type CustomToolInputFormatTextParam ¶
type CustomToolInputFormatTextParam struct { // Unconstrained text format. Always `text`. Type constant.Text `json:"type,required"` // contains filtered or unexported fields }
Unconstrained free-form text.
This struct has a constant value, construct it with NewCustomToolInputFormatTextParam.
func NewCustomToolInputFormatTextParam ¶
func NewCustomToolInputFormatTextParam() CustomToolInputFormatTextParam
func (CustomToolInputFormatTextParam) MarshalJSON ¶
func (r CustomToolInputFormatTextParam) MarshalJSON() (data []byte, err error)
func (*CustomToolInputFormatTextParam) UnmarshalJSON ¶
func (r *CustomToolInputFormatTextParam) UnmarshalJSON(data []byte) error
type CustomToolInputFormatUnion ¶
type CustomToolInputFormatUnion struct { // Any of "text", "grammar". Type string `json:"type"` // This field is from variant [CustomToolInputFormatGrammar]. Definition string `json:"definition"` // This field is from variant [CustomToolInputFormatGrammar]. Syntax string `json:"syntax"` JSON struct { Type respjson.Field Definition respjson.Field Syntax respjson.Field // contains filtered or unexported fields } `json:"-"` }
CustomToolInputFormatUnion contains all possible properties and values from CustomToolInputFormatText, CustomToolInputFormatGrammar.
Use the CustomToolInputFormatUnion.AsAny method to switch on the variant.
Use the methods beginning with 'As' to cast the union to one of its variants.
func (CustomToolInputFormatUnion) AsAny ¶
func (u CustomToolInputFormatUnion) AsAny() anyCustomToolInputFormat
Use the following switch statement to find the correct variant
switch variant := CustomToolInputFormatUnion.AsAny().(type) { case shared.CustomToolInputFormatText: case shared.CustomToolInputFormatGrammar: default: fmt.Errorf("no variant present") }
func (CustomToolInputFormatUnion) AsGrammar ¶
func (u CustomToolInputFormatUnion) AsGrammar() (v CustomToolInputFormatGrammar)
func (CustomToolInputFormatUnion) AsText ¶
func (u CustomToolInputFormatUnion) AsText() (v CustomToolInputFormatText)
func (CustomToolInputFormatUnion) RawJSON ¶
func (u CustomToolInputFormatUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (CustomToolInputFormatUnion) ToParam ¶
func (r CustomToolInputFormatUnion) ToParam() CustomToolInputFormatUnionParam
ToParam converts this CustomToolInputFormatUnion to a CustomToolInputFormatUnionParam.
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 CustomToolInputFormatUnionParam.Overrides()
func (*CustomToolInputFormatUnion) UnmarshalJSON ¶
func (r *CustomToolInputFormatUnion) UnmarshalJSON(data []byte) error
type CustomToolInputFormatUnionParam ¶
type CustomToolInputFormatUnionParam struct { OfText *CustomToolInputFormatTextParam `json:",omitzero,inline"` OfGrammar *CustomToolInputFormatGrammarParam `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 CustomToolInputFormatParamOfGrammar ¶
func CustomToolInputFormatParamOfGrammar(definition string, syntax string) CustomToolInputFormatUnionParam
func (CustomToolInputFormatUnionParam) GetDefinition ¶
func (u CustomToolInputFormatUnionParam) GetDefinition() *string
Returns a pointer to the underlying variant's property, if present.
func (CustomToolInputFormatUnionParam) GetSyntax ¶
func (u CustomToolInputFormatUnionParam) GetSyntax() *string
Returns a pointer to the underlying variant's property, if present.
func (CustomToolInputFormatUnionParam) GetType ¶
func (u CustomToolInputFormatUnionParam) GetType() *string
Returns a pointer to the underlying variant's property, if present.
func (CustomToolInputFormatUnionParam) MarshalJSON ¶
func (u CustomToolInputFormatUnionParam) MarshalJSON() ([]byte, error)
func (*CustomToolInputFormatUnionParam) UnmarshalJSON ¶
func (u *CustomToolInputFormatUnionParam) UnmarshalJSON(data []byte) error
type ErrorObject ¶
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 ¶
func (r ErrorObject) RawJSON() string
Returns the unmodified JSON received from the API
func (*ErrorObject) UnmarshalJSON ¶
func (r *ErrorObject) UnmarshalJSON(data []byte) error
type FunctionDefinition ¶
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 ¶
func (r FunctionDefinition) RawJSON() string
Returns the unmodified JSON received from the API
func (FunctionDefinition) ToParam ¶
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 ¶
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 { // Constrains effort on reasoning for // [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently // supported values are `minimal`, `low`, `medium`, and `high`. Reducing reasoning // effort can result in faster responses and fewer tokens used on reasoning in a // response. // // Any of "minimal", "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:"-"` }
**gpt-5 and 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
Constrains effort on reasoning for [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently supported values are `minimal`, `low`, `medium`, and `high`. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.
const ( ReasoningEffortMinimal ReasoningEffort = "minimal" 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 { // Constrains effort on reasoning for // [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently // supported values are `minimal`, `low`, `medium`, and `high`. Reducing reasoning // effort can result in faster responses and fewer tokens used on reasoning in a // response. // // Any of "minimal", "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 }
**gpt-5 and 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 ¶
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 ¶
func (r ResponseFormatJSONSchema) RawJSON() string
Returns the unmodified JSON received from the API
func (ResponseFormatJSONSchema) ToParam ¶
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 ¶
func (r *ResponseFormatJSONSchema) UnmarshalJSON(data []byte) error
type ResponseFormatJSONSchemaJSONSchema ¶
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 ¶
func (r ResponseFormatJSONSchemaJSONSchema) RawJSON() string
Returns the unmodified JSON received from the API
func (*ResponseFormatJSONSchemaJSONSchema) UnmarshalJSON ¶
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" )