diff --git a/relay/model/general.go b/relay/model/general.go index 5354694c..57a5b0b6 100644 --- a/relay/model/general.go +++ b/relay/model/general.go @@ -34,6 +34,8 @@ type GeneralOpenAIRequest struct { MaxTokens int `json:"max_tokens,omitempty"` MaxCompletionTokens *int `json:"max_completion_tokens,omitempty"` N int `json:"n,omitempty"` + // ReasoningEffort constrains effort on reasoning for reasoning models, o1 models only. + ReasoningEffort string `json:"reasoning_effort,omitempty" binding:"omitempty,oneof=low medium high"` // Modalities currently the model only programmatically allows modalities = [“text”, “audio”] Modalities []string `json:"modalities,omitempty"` Prediction any `json:"prediction,omitempty"` diff --git a/relay/model/message.go b/relay/model/message.go index 48ddb3ad..86ee57b3 100644 --- a/relay/model/message.go +++ b/relay/model/message.go @@ -9,11 +9,12 @@ import ( type Message struct { Role string `json:"role,omitempty"` // Content is a string or a list of objects - Content any `json:"content,omitempty"` - Name *string `json:"name,omitempty"` - ToolCalls []Tool `json:"tool_calls,omitempty"` - ToolCallId string `json:"tool_call_id,omitempty"` - Audio *messageAudio `json:"audio,omitempty"` + Content any `json:"content,omitempty"` + ReasoningContent string `json:"reasoning_content,omitempty"` + Name *string `json:"name,omitempty"` + ToolCalls []Tool `json:"tool_calls,omitempty"` + ToolCallId string `json:"tool_call_id,omitempty"` + Audio *messageAudio `json:"audio,omitempty"` } type messageAudio struct {