From 7f12c2f8b82bbc3aa72796e4561d64b2a6af39b7 Mon Sep 17 00:00:00 2001 From: purefkh Date: Fri, 6 Jun 2025 22:11:18 +0800 Subject: [PATCH] fix: set thinking budget to 0 for gemini-2.5-flash when reasoning effort is off (#6917) --- src/renderer/src/config/models.ts | 3 ++- src/renderer/src/providers/AiProvider/GeminiProvider.ts | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 0b0afc398b..3ae1814f59 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -2631,7 +2631,8 @@ export function groupQwenModels(models: Model[]): Record { export const THINKING_TOKEN_MAP: Record = { // Gemini models - 'gemini-.*$': { min: 0, max: 24576 }, + 'gemini-.*-flash.*$': { min: 0, max: 24576 }, + 'gemini-.*-pro.*$': { min: 128, max: 32768 }, // Qwen models 'qwen-plus-.*$': { min: 0, max: 38912 }, diff --git a/src/renderer/src/providers/AiProvider/GeminiProvider.ts b/src/renderer/src/providers/AiProvider/GeminiProvider.ts index 0186beca14..97c90363d0 100644 --- a/src/renderer/src/providers/AiProvider/GeminiProvider.ts +++ b/src/renderer/src/providers/AiProvider/GeminiProvider.ts @@ -286,12 +286,14 @@ export default class GeminiProvider extends BaseProvider { private getBudgetToken(assistant: Assistant, model: Model) { if (isGeminiReasoningModel(model)) { const reasoningEffort = assistant?.settings?.reasoning_effort + const GEMINI_FLASH_MODEL_REGEX = new RegExp('gemini-.*-flash.*$') // 如果thinking_budget是undefined,不思考 if (reasoningEffort === undefined) { return { thinkingConfig: { - includeThoughts: false + includeThoughts: false, + ...(GEMINI_FLASH_MODEL_REGEX.test(model.id) ? { thinkingBudget: 0 } : {}) } as ThinkingConfig } }