feat: add ReasoningEffort field to GeneralOpenAIRequest and ReasoningContent to Message struct

This commit is contained in:
Laisky.Cai 2025-01-26 06:24:39 +00:00
parent 1ea322f371
commit e265335fc5
2 changed files with 8 additions and 5 deletions

View File

@ -34,6 +34,8 @@ type GeneralOpenAIRequest struct {
MaxTokens int `json:"max_tokens,omitempty"` MaxTokens int `json:"max_tokens,omitempty"`
MaxCompletionTokens *int `json:"max_completion_tokens,omitempty"` MaxCompletionTokens *int `json:"max_completion_tokens,omitempty"`
N int `json:"n,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 currently the model only programmatically allows modalities = [“text”, “audio”]
Modalities []string `json:"modalities,omitempty"` Modalities []string `json:"modalities,omitempty"`
Prediction any `json:"prediction,omitempty"` Prediction any `json:"prediction,omitempty"`

View File

@ -9,11 +9,12 @@ import (
type Message struct { type Message struct {
Role string `json:"role,omitempty"` Role string `json:"role,omitempty"`
// Content is a string or a list of objects // Content is a string or a list of objects
Content any `json:"content,omitempty"` Content any `json:"content,omitempty"`
Name *string `json:"name,omitempty"` ReasoningContent string `json:"reasoning_content,omitempty"`
ToolCalls []Tool `json:"tool_calls,omitempty"` Name *string `json:"name,omitempty"`
ToolCallId string `json:"tool_call_id,omitempty"` ToolCalls []Tool `json:"tool_calls,omitempty"`
Audio *messageAudio `json:"audio,omitempty"` ToolCallId string `json:"tool_call_id,omitempty"`
Audio *messageAudio `json:"audio,omitempty"`
} }
type messageAudio struct { type messageAudio struct {