Merge pull request #1167 from RedwindA/feat/2.5-pro-thinkingBudget
Feat: 2.5-pro thinkingBudget
This commit is contained in:
@@ -57,22 +57,35 @@ 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") {
|
||||||
// 如果模型名以 gemini-2.5-pro 开头,不设置 ThinkingBudget
|
// 硬编码不支持 ThinkingBudget 的旧模型
|
||||||
if strings.HasPrefix(info.OriginModelName, "gemini-2.5-pro") {
|
unsupportedModels := []string{
|
||||||
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
|
"gemini-2.5-pro-preview-05-06",
|
||||||
IncludeThoughts: true,
|
"gemini-2.5-pro-preview-03-25",
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
budgetTokens := model_setting.GetGeminiSettings().ThinkingAdapterBudgetTokensPercentage * float64(geminiRequest.GenerationConfig.MaxOutputTokens)
|
isUnsupported := false
|
||||||
if budgetTokens == 0 || budgetTokens > 24576 {
|
for _, unsupportedModel := range unsupportedModels {
|
||||||
budgetTokens = 24576
|
if strings.HasPrefix(info.OriginModelName, unsupportedModel) {
|
||||||
}
|
isUnsupported = true
|
||||||
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
|
break
|
||||||
ThinkingBudget: common.GetPointer(int(budgetTokens)),
|
}
|
||||||
IncludeThoughts: true,
|
}
|
||||||
}
|
|
||||||
}
|
if isUnsupported {
|
||||||
|
geminiRequest.GenerationConfig.ThinkingConfig = &GeminiThinkingConfig{
|
||||||
|
IncludeThoughts: true,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
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),
|
||||||
|
|||||||
Reference in New Issue
Block a user