diff --git a/relay/adaptor/gemini/model.go b/relay/adaptor/gemini/model.go index 6469e45f..96dee113 100644 --- a/relay/adaptor/gemini/model.go +++ b/relay/adaptor/gemini/model.go @@ -79,5 +79,5 @@ type ChatGenerationConfig struct { MaxOutputTokens int `json:"maxOutputTokens,omitempty"` CandidateCount int `json:"candidateCount,omitempty"` StopSequences []string `json:"stopSequences,omitempty"` - ThinkingConfig *ThinkingConfig `json:"thinkingConfig,omitempty"` + ThinkingConfig *ThinkingConfig `json:"thinkingConfig"` } diff --git a/relay/adaptor/vertexai/gemini/adapter.go b/relay/adaptor/vertexai/gemini/adapter.go index 3e91e844..bf28a84c 100644 --- a/relay/adaptor/vertexai/gemini/adapter.go +++ b/relay/adaptor/vertexai/gemini/adapter.go @@ -57,7 +57,17 @@ func (a *Adaptor) parseGeminiChatGenerationThinking(model string) (string, *gemi } } } - return modelName, thinkingConfig + if strings.HasPrefix(modelName, "gemini-2.5") { + // 目前2.5的模型支持传递thinking config,且默认开启了thinking,不希望进入thinking模式需要显式传递thinkingConfig来关闭 + return modelName, thinkingConfig + } else { + // 其他模型暂时不支持 + if thinkingConfig != nil && (thinkingConfig.IncludeThoughts || thinkingConfig.ThinkingBudget > 0) { + // 为了后续一旦有其他模型支持了thinking,这里指定可以指定参数开启 + return modelName, thinkingConfig + } + return modelName, nil + } } func (a *Adaptor) ConvertRequest(c *gin.Context, relayMode int, request *model.GeneralOpenAIRequest) (any, error) {