mirror of
https://github.com/openai/openai-go.git
synced 2026-03-31 16:47:11 +09:00
feat(api): add o3 and o4-mini model IDs
This commit is contained in:
committed by
meorphis
parent
9c50a1eb9f
commit
3fabca6b5c
37
aliases.go
37
aliases.go
@@ -37,6 +37,18 @@ const ChatModelGPT4_1Mini2025_04_14 = shared.ChatModelGPT4_1Mini2025_04_14
|
||||
// Equals "gpt-4.1-nano-2025-04-14"
|
||||
const ChatModelGPT4_1Nano2025_04_14 = shared.ChatModelGPT4_1Nano2025_04_14
|
||||
|
||||
// Equals "o4-mini"
|
||||
const ChatModelO4Mini = shared.ChatModelO4Mini
|
||||
|
||||
// Equals "o4-mini-2025-04-16"
|
||||
const ChatModelO4Mini2025_04_16 = shared.ChatModelO4Mini2025_04_16
|
||||
|
||||
// Equals "o3"
|
||||
const ChatModelO3 = shared.ChatModelO3
|
||||
|
||||
// Equals "o3-2025-04-16"
|
||||
const ChatModelO3_2025_04_16 = shared.ChatModelO3_2025_04_16
|
||||
|
||||
// Equals "o3-mini"
|
||||
const ChatModelO3Mini = shared.ChatModelO3Mini
|
||||
|
||||
@@ -279,21 +291,40 @@ type Metadata = shared.Metadata
|
||||
// This is an alias to an internal type.
|
||||
type Reasoning = shared.Reasoning
|
||||
|
||||
// **computer_use_preview only**
|
||||
// **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 `concise` or
|
||||
// `detailed`.
|
||||
// debugging and understanding the model's reasoning process. One of `auto`,
|
||||
// `concise`, or `detailed`.
|
||||
//
|
||||
// This is an alias to an internal type.
|
||||
type ReasoningGenerateSummary = shared.ReasoningGenerateSummary
|
||||
|
||||
// Equals "auto"
|
||||
const ReasoningGenerateSummaryAuto = shared.ReasoningGenerateSummaryAuto
|
||||
|
||||
// Equals "concise"
|
||||
const ReasoningGenerateSummaryConcise = shared.ReasoningGenerateSummaryConcise
|
||||
|
||||
// Equals "detailed"
|
||||
const ReasoningGenerateSummaryDetailed = shared.ReasoningGenerateSummaryDetailed
|
||||
|
||||
// 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`.
|
||||
//
|
||||
// This is an alias to an internal type.
|
||||
type ReasoningSummary = shared.ReasoningSummary
|
||||
|
||||
// Equals "auto"
|
||||
const ReasoningSummaryAuto = shared.ReasoningSummaryAuto
|
||||
|
||||
// Equals "concise"
|
||||
const ReasoningSummaryConcise = shared.ReasoningSummaryConcise
|
||||
|
||||
// Equals "detailed"
|
||||
const ReasoningSummaryDetailed = shared.ReasoningSummaryDetailed
|
||||
|
||||
// **o-series models only**
|
||||
//
|
||||
// Configuration options for
|
||||
|
||||
@@ -174,9 +174,25 @@ type ChatCompletion struct {
|
||||
Model string `json:"model,required"`
|
||||
// The object type, which is always `chat.completion`.
|
||||
Object constant.ChatCompletion `json:"object,required"`
|
||||
// The service tier used for processing the request.
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// Any of "scale", "default".
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
//
|
||||
// Any of "auto", "default", "flex".
|
||||
ServiceTier ChatCompletionServiceTier `json:"service_tier,nullable"`
|
||||
// This fingerprint represents the backend configuration that the model runs with.
|
||||
//
|
||||
@@ -260,12 +276,29 @@ func (r *ChatCompletionChoiceLogprobs) UnmarshalJSON(data []byte) error {
|
||||
return apijson.UnmarshalRoot(data, r)
|
||||
}
|
||||
|
||||
// The service tier used for processing the request.
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
type ChatCompletionServiceTier string
|
||||
|
||||
const (
|
||||
ChatCompletionServiceTierScale ChatCompletionServiceTier = "scale"
|
||||
ChatCompletionServiceTierAuto ChatCompletionServiceTier = "auto"
|
||||
ChatCompletionServiceTierDefault ChatCompletionServiceTier = "default"
|
||||
ChatCompletionServiceTierFlex ChatCompletionServiceTier = "flex"
|
||||
)
|
||||
|
||||
// Messages sent by the model in response to user messages.
|
||||
@@ -472,10 +505,10 @@ type ChatCompletionAudioParam struct {
|
||||
// Specifies the output audio format. Must be one of `wav`, `mp3`, `flac`, `opus`,
|
||||
// or `pcm16`.
|
||||
//
|
||||
// Any of "wav", "mp3", "flac", "opus", "pcm16".
|
||||
// Any of "wav", "aac", "mp3", "flac", "opus", "pcm16".
|
||||
Format ChatCompletionAudioParamFormat `json:"format,omitzero,required"`
|
||||
// The voice the model uses to respond. Supported voices are `alloy`, `ash`,
|
||||
// `ballad`, `coral`, `echo`, `sage`, and `shimmer`.
|
||||
// `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, and `shimmer`.
|
||||
Voice ChatCompletionAudioParamVoice `json:"voice,omitzero,required"`
|
||||
paramObj
|
||||
}
|
||||
@@ -494,6 +527,7 @@ type ChatCompletionAudioParamFormat string
|
||||
|
||||
const (
|
||||
ChatCompletionAudioParamFormatWAV ChatCompletionAudioParamFormat = "wav"
|
||||
ChatCompletionAudioParamFormatAAC ChatCompletionAudioParamFormat = "aac"
|
||||
ChatCompletionAudioParamFormatMP3 ChatCompletionAudioParamFormat = "mp3"
|
||||
ChatCompletionAudioParamFormatFLAC ChatCompletionAudioParamFormat = "flac"
|
||||
ChatCompletionAudioParamFormatOpus ChatCompletionAudioParamFormat = "opus"
|
||||
@@ -501,7 +535,7 @@ const (
|
||||
)
|
||||
|
||||
// The voice the model uses to respond. Supported voices are `alloy`, `ash`,
|
||||
// `ballad`, `coral`, `echo`, `sage`, and `shimmer`.
|
||||
// `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, and `shimmer`.
|
||||
type ChatCompletionAudioParamVoice string
|
||||
|
||||
const (
|
||||
@@ -535,9 +569,25 @@ type ChatCompletionChunk struct {
|
||||
Model string `json:"model,required"`
|
||||
// The object type, which is always `chat.completion.chunk`.
|
||||
Object constant.ChatCompletionChunk `json:"object,required"`
|
||||
// The service tier used for processing the request.
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// Any of "scale", "default".
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
//
|
||||
// Any of "auto", "default", "flex".
|
||||
ServiceTier ChatCompletionChunkServiceTier `json:"service_tier,nullable"`
|
||||
// This fingerprint represents the backend configuration that the model runs with.
|
||||
// Can be used in conjunction with the `seed` request parameter to understand when
|
||||
@@ -736,12 +786,29 @@ func (r *ChatCompletionChunkChoiceLogprobs) UnmarshalJSON(data []byte) error {
|
||||
return apijson.UnmarshalRoot(data, r)
|
||||
}
|
||||
|
||||
// The service tier used for processing the request.
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
type ChatCompletionChunkServiceTier string
|
||||
|
||||
const (
|
||||
ChatCompletionChunkServiceTierScale ChatCompletionChunkServiceTier = "scale"
|
||||
ChatCompletionChunkServiceTierAuto ChatCompletionChunkServiceTier = "auto"
|
||||
ChatCompletionChunkServiceTierDefault ChatCompletionChunkServiceTier = "default"
|
||||
ChatCompletionChunkServiceTierFlex ChatCompletionChunkServiceTier = "flex"
|
||||
)
|
||||
|
||||
func TextContentPart(text string) ChatCompletionContentPartUnionParam {
|
||||
@@ -2026,7 +2093,7 @@ type ChatCompletionNewParams struct {
|
||||
// [images](https://platform.openai.com/docs/guides/vision), and
|
||||
// [audio](https://platform.openai.com/docs/guides/audio).
|
||||
Messages []ChatCompletionMessageParamUnion `json:"messages,omitzero,required"`
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
|
||||
// wide range of models with different capabilities, performance characteristics,
|
||||
// and price points. Refer to the
|
||||
// [model guide](https://platform.openai.com/docs/models) to browse and compare
|
||||
@@ -2050,7 +2117,7 @@ type ChatCompletionNewParams struct {
|
||||
//
|
||||
// This value is now deprecated in favor of `max_completion_tokens`, and is not
|
||||
// compatible with
|
||||
// [o1 series models](https://platform.openai.com/docs/guides/reasoning).
|
||||
// [o-series models](https://platform.openai.com/docs/guides/reasoning).
|
||||
MaxTokens param.Opt[int64] `json:"max_tokens,omitzero"`
|
||||
// How many chat completion choices to generate for each input message. Note that
|
||||
// you will be charged based on the number of generated tokens across all of the
|
||||
@@ -2145,13 +2212,18 @@ type ChatCompletionNewParams struct {
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
//
|
||||
// Any of "auto", "default".
|
||||
// Any of "auto", "default", "flex".
|
||||
ServiceTier ChatCompletionNewParamsServiceTier `json:"service_tier,omitzero"`
|
||||
// Not supported with latest reasoning models `o3` and `o4-mini`.
|
||||
//
|
||||
// Up to 4 sequences where the API will stop generating further tokens. The
|
||||
// returned text will not contain the stop sequence.
|
||||
Stop ChatCompletionNewParamsStopUnion `json:"stop,omitzero"`
|
||||
@@ -2342,6 +2414,9 @@ func (u ChatCompletionNewParamsResponseFormatUnion) GetType() *string {
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
@@ -2351,6 +2426,7 @@ type ChatCompletionNewParamsServiceTier string
|
||||
const (
|
||||
ChatCompletionNewParamsServiceTierAuto ChatCompletionNewParamsServiceTier = "auto"
|
||||
ChatCompletionNewParamsServiceTierDefault ChatCompletionNewParamsServiceTier = "default"
|
||||
ChatCompletionNewParamsServiceTierFlex ChatCompletionNewParamsServiceTier = "flex"
|
||||
)
|
||||
|
||||
// Only one field can be non-zero.
|
||||
|
||||
@@ -338,6 +338,8 @@ type CompletionNewParams struct {
|
||||
// As an example, you can pass `{"50256": -100}` to prevent the <|endoftext|> token
|
||||
// from being generated.
|
||||
LogitBias map[string]int64 `json:"logit_bias,omitzero"`
|
||||
// Not supported with latest reasoning models `o3` and `o4-mini`.
|
||||
//
|
||||
// Up to 4 sequences where the API will stop generating further tokens. The
|
||||
// returned text will not contain the stop sequence.
|
||||
Stop CompletionNewParamsStopUnion `json:"stop,omitzero"`
|
||||
|
||||
@@ -37,6 +37,18 @@ const ChatModelGPT4_1Mini2025_04_14 = shared.ChatModelGPT4_1Mini2025_04_14
|
||||
// Equals "gpt-4.1-nano-2025-04-14"
|
||||
const ChatModelGPT4_1Nano2025_04_14 = shared.ChatModelGPT4_1Nano2025_04_14
|
||||
|
||||
// Equals "o4-mini"
|
||||
const ChatModelO4Mini = shared.ChatModelO4Mini
|
||||
|
||||
// Equals "o4-mini-2025-04-16"
|
||||
const ChatModelO4Mini2025_04_16 = shared.ChatModelO4Mini2025_04_16
|
||||
|
||||
// Equals "o3"
|
||||
const ChatModelO3 = shared.ChatModelO3
|
||||
|
||||
// Equals "o3-2025-04-16"
|
||||
const ChatModelO3_2025_04_16 = shared.ChatModelO3_2025_04_16
|
||||
|
||||
// Equals "o3-mini"
|
||||
const ChatModelO3Mini = shared.ChatModelO3Mini
|
||||
|
||||
@@ -279,21 +291,40 @@ type Metadata = shared.Metadata
|
||||
// This is an alias to an internal type.
|
||||
type Reasoning = shared.Reasoning
|
||||
|
||||
// **computer_use_preview only**
|
||||
// **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 `concise` or
|
||||
// `detailed`.
|
||||
// debugging and understanding the model's reasoning process. One of `auto`,
|
||||
// `concise`, or `detailed`.
|
||||
//
|
||||
// This is an alias to an internal type.
|
||||
type ReasoningGenerateSummary = shared.ReasoningGenerateSummary
|
||||
|
||||
// Equals "auto"
|
||||
const ReasoningGenerateSummaryAuto = shared.ReasoningGenerateSummaryAuto
|
||||
|
||||
// Equals "concise"
|
||||
const ReasoningGenerateSummaryConcise = shared.ReasoningGenerateSummaryConcise
|
||||
|
||||
// Equals "detailed"
|
||||
const ReasoningGenerateSummaryDetailed = shared.ReasoningGenerateSummaryDetailed
|
||||
|
||||
// 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`.
|
||||
//
|
||||
// This is an alias to an internal type.
|
||||
type ReasoningSummary = shared.ReasoningSummary
|
||||
|
||||
// Equals "auto"
|
||||
const ReasoningSummaryAuto = shared.ReasoningSummaryAuto
|
||||
|
||||
// Equals "concise"
|
||||
const ReasoningSummaryConcise = shared.ReasoningSummaryConcise
|
||||
|
||||
// Equals "detailed"
|
||||
const ReasoningSummaryDetailed = shared.ReasoningSummaryDetailed
|
||||
|
||||
// **o-series models only**
|
||||
//
|
||||
// Configuration options for
|
||||
|
||||
@@ -578,7 +578,7 @@ type Response struct {
|
||||
// Keys are strings with a maximum length of 64 characters. Values are strings with
|
||||
// a maximum length of 512 characters.
|
||||
Metadata shared.Metadata `json:"metadata,required"`
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
|
||||
// wide range of models with different capabilities, performance characteristics,
|
||||
// and price points. Refer to the
|
||||
// [model guide](https://platform.openai.com/docs/models) to browse and compare
|
||||
@@ -639,6 +639,26 @@ type Response struct {
|
||||
// Configuration options for
|
||||
// [reasoning models](https://platform.openai.com/docs/guides/reasoning).
|
||||
Reasoning shared.Reasoning `json:"reasoning,nullable"`
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
//
|
||||
// Any of "auto", "default", "flex".
|
||||
ServiceTier ResponseServiceTier `json:"service_tier,nullable"`
|
||||
// The status of the response generation. One of `completed`, `failed`,
|
||||
// `in_progress`, or `incomplete`.
|
||||
//
|
||||
@@ -686,6 +706,7 @@ type Response struct {
|
||||
MaxOutputTokens respjson.Field
|
||||
PreviousResponseID respjson.Field
|
||||
Reasoning respjson.Field
|
||||
ServiceTier respjson.Field
|
||||
Status respjson.Field
|
||||
Text respjson.Field
|
||||
Truncation respjson.Field
|
||||
@@ -778,6 +799,31 @@ func (r *ResponseToolChoiceUnion) UnmarshalJSON(data []byte) error {
|
||||
return apijson.UnmarshalRoot(data, r)
|
||||
}
|
||||
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
type ResponseServiceTier string
|
||||
|
||||
const (
|
||||
ResponseServiceTierAuto ResponseServiceTier = "auto"
|
||||
ResponseServiceTierDefault ResponseServiceTier = "default"
|
||||
ResponseServiceTierFlex ResponseServiceTier = "flex"
|
||||
)
|
||||
|
||||
// The truncation strategy to use for the model response.
|
||||
//
|
||||
// - `auto`: If the context of this response and previous ones exceeds the model's
|
||||
@@ -7509,7 +7555,7 @@ type ResponseNewParams struct {
|
||||
// - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
|
||||
// - [Function calling](https://platform.openai.com/docs/guides/function-calling)
|
||||
Input ResponseNewParamsInputUnion `json:"input,omitzero,required"`
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o1`. OpenAI offers a
|
||||
// Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
|
||||
// wide range of models with different capabilities, performance characteristics,
|
||||
// and price points. Refer to the
|
||||
// [model guide](https://platform.openai.com/docs/models) to browse and compare
|
||||
@@ -7570,6 +7616,26 @@ type ResponseNewParams struct {
|
||||
// Keys are strings with a maximum length of 64 characters. Values are strings with
|
||||
// a maximum length of 512 characters.
|
||||
Metadata shared.Metadata `json:"metadata,omitzero"`
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
//
|
||||
// Any of "auto", "default", "flex".
|
||||
ServiceTier ResponseNewParamsServiceTier `json:"service_tier,omitzero"`
|
||||
// The truncation strategy to use for the model response.
|
||||
//
|
||||
// - `auto`: If the context of this response and previous ones exceeds the model's
|
||||
@@ -7646,6 +7712,31 @@ func (u *ResponseNewParamsInputUnion) asAny() any {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Specifies the latency tier to use for processing the request. This parameter is
|
||||
// relevant for customers subscribed to the scale tier service:
|
||||
//
|
||||
// - If set to 'auto', and the Project is Scale tier enabled, the system will
|
||||
// utilize scale tier credits until they are exhausted.
|
||||
// - If set to 'auto', and the Project is not Scale tier enabled, the request will
|
||||
// be processed using the default service tier with a lower uptime SLA and no
|
||||
// latency guarentee.
|
||||
// - If set to 'default', the request will be processed using the default service
|
||||
// tier with a lower uptime SLA and no latency guarentee.
|
||||
// - If set to 'flex', the request will be processed with the Flex Processing
|
||||
// service tier.
|
||||
// [Learn more](https://platform.openai.com/docs/guides/flex-processing).
|
||||
// - When not set, the default behavior is 'auto'.
|
||||
//
|
||||
// When this parameter is set, the response body will include the `service_tier`
|
||||
// utilized.
|
||||
type ResponseNewParamsServiceTier string
|
||||
|
||||
const (
|
||||
ResponseNewParamsServiceTierAuto ResponseNewParamsServiceTier = "auto"
|
||||
ResponseNewParamsServiceTierDefault ResponseNewParamsServiceTier = "default"
|
||||
ResponseNewParamsServiceTierFlex ResponseNewParamsServiceTier = "flex"
|
||||
)
|
||||
|
||||
// Only one field can be non-zero.
|
||||
//
|
||||
// Use [param.IsOmitted] to confirm if a field is set.
|
||||
|
||||
@@ -42,8 +42,10 @@ func TestResponseNewWithOptionalParams(t *testing.T) {
|
||||
PreviousResponseID: openai.String("previous_response_id"),
|
||||
Reasoning: shared.ReasoningParam{
|
||||
Effort: shared.ReasoningEffortLow,
|
||||
GenerateSummary: shared.ReasoningGenerateSummaryConcise,
|
||||
GenerateSummary: shared.ReasoningGenerateSummaryAuto,
|
||||
Summary: shared.ReasoningSummaryAuto,
|
||||
},
|
||||
ServiceTier: responses.ResponseNewParamsServiceTierAuto,
|
||||
Store: openai.Bool(true),
|
||||
Temperature: openai.Float(1),
|
||||
Text: responses.ResponseTextConfigParam{
|
||||
|
||||
@@ -27,6 +27,10 @@ const (
|
||||
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"
|
||||
@@ -422,13 +426,15 @@ type Reasoning struct {
|
||||
//
|
||||
// Any of "low", "medium", "high".
|
||||
Effort ReasoningEffort `json:"effort,nullable"`
|
||||
// **computer_use_preview only**
|
||||
// **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 `concise` or
|
||||
// `detailed`.
|
||||
// debugging and understanding the model's reasoning process. One of `auto`,
|
||||
// `concise`, or `detailed`.
|
||||
//
|
||||
// Any of "concise", "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`,
|
||||
@@ -440,6 +446,7 @@ type Reasoning struct {
|
||||
JSON struct {
|
||||
Effort respjson.Field
|
||||
GenerateSummary respjson.Field
|
||||
Summary respjson.Field
|
||||
ExtraFields map[string]respjson.Field
|
||||
raw string
|
||||
} `json:"-"`
|
||||
@@ -460,18 +467,30 @@ func (r Reasoning) ToParam() ReasoningParam {
|
||||
return param.Override[ReasoningParam](r.RawJSON())
|
||||
}
|
||||
|
||||
// **computer_use_preview only**
|
||||
// **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 `concise` or
|
||||
// `detailed`.
|
||||
// debugging and understanding the model's reasoning process. One of `auto`,
|
||||
// `concise`, or `detailed`.
|
||||
type ReasoningGenerateSummary string
|
||||
|
||||
const (
|
||||
ReasoningGenerateSummaryAuto ReasoningGenerateSummary = "auto"
|
||||
ReasoningGenerateSummaryConcise ReasoningGenerateSummary = "concise"
|
||||
ReasoningGenerateSummaryDetailed ReasoningGenerateSummary = "detailed"
|
||||
)
|
||||
|
||||
// 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`.
|
||||
type ReasoningSummary string
|
||||
|
||||
const (
|
||||
ReasoningSummaryAuto ReasoningSummary = "auto"
|
||||
ReasoningSummaryConcise ReasoningSummary = "concise"
|
||||
ReasoningSummaryDetailed ReasoningSummary = "detailed"
|
||||
)
|
||||
|
||||
// **o-series models only**
|
||||
//
|
||||
// Configuration options for
|
||||
@@ -486,14 +505,22 @@ type ReasoningParam struct {
|
||||
//
|
||||
// Any of "low", "medium", "high".
|
||||
Effort ReasoningEffort `json:"effort,omitzero"`
|
||||
// **computer_use_preview only**
|
||||
// **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 `concise` or
|
||||
// `detailed`.
|
||||
// debugging and understanding the model's reasoning process. One of `auto`,
|
||||
// `concise`, or `detailed`.
|
||||
//
|
||||
// Any of "concise", "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"`
|
||||
paramObj
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user