Fix: Gemini2.5pro ThinkingConfig

This commit is contained in:
xqx121
2025-05-31 17:50:00 +08:00
committed by GitHub
parent 361b0abec9
commit 1c4d7fd84b

View File

@@ -39,15 +39,22 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest, info *relaycommon
} }
if model_setting.GetGeminiSettings().ThinkingAdapterEnabled { if model_setting.GetGeminiSettings().ThinkingAdapterEnabled {
if strings.HasSuffix(info.OriginModelName, "-thinking") { if strings.HasSuffix(info.OriginModelName, "-thinking") {
budgetTokens := model_setting.GetGeminiSettings().ThinkingAdapterBudgetTokensPercentage * float64(geminiRequest.GenerationConfig.MaxOutputTokens) // 如果模型名以 gemini-2.5-pro 开头,不设置 ThinkingBudget
if budgetTokens == 0 || budgetTokens > 24576 { if strings.HasPrefix(info.OriginModelName, "gemini-2.5-pro") {
budgetTokens = 24576 geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
} IncludeThoughts: true,
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{ }
ThinkingBudget: common.GetPointer(int(budgetTokens)), } else {
IncludeThoughts: true, budgetTokens := model_setting.GetGeminiSettings().ThinkingAdapterBudgetTokensPercentage * float64(geminiRequest.GenerationConfig.MaxOutputTokens)
} if budgetTokens == 0 || budgetTokens > 24576 {
budgetTokens = 24576
}
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
ThinkingBudget: common.GetPointer(int(budgetTokens)),
IncludeThoughts: true,
}
}
} else if strings.HasSuffix(info.OriginModelName, "-nothinking") { } else if strings.HasSuffix(info.OriginModelName, "-nothinking") {
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{ geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
ThinkingBudget: common.GetPointer(0), ThinkingBudget: common.GetPointer(0),