From 47fa08ee5bf1a7edb07a86f737ad49dc61d7e626 Mon Sep 17 00:00:00 2001 From: yetone Date: Wed, 4 Jun 2025 01:57:25 +0800 Subject: [PATCH] fix: gemini generation config (#2133) --- lua/avante/config.lua | 5 +++-- lua/avante/providers/gemini.lua | 14 ++++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/lua/avante/config.lua b/lua/avante/config.lua index 4942851..16b6279 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -281,8 +281,9 @@ M._defaults = { timeout = 30000, -- Timeout in milliseconds use_ReAct_prompt = true, extra_request_body = { - temperature = 0.75, - max_tokens = 65536, + generationConfig = { + temperature = 0.75, + }, }, }, ---@type AvanteSupportedProvider diff --git a/lua/avante/providers/gemini.lua b/lua/avante/providers/gemini.lua index c8a5ac9..50ad9d7 100644 --- a/lua/avante/providers/gemini.lua +++ b/lua/avante/providers/gemini.lua @@ -181,17 +181,11 @@ end ---@param provider_instance AvanteProviderFunctor The provider instance (self). ---@param prompt_opts AvantePromptOptions Prompt options including messages, tools, system_prompt. ---@param provider_conf table Provider configuration from config.lua (e.g., model, top-level temperature/max_tokens). ----@param request_body table Request-specific overrides, typically from provider_conf.request_config_overrides. +---@param request_body_ table Request-specific overrides, typically from provider_conf.request_config_overrides. ---@return table The fully constructed request body. -function M.prepare_request_body(provider_instance, prompt_opts, provider_conf, request_body) - request_body = vim.tbl_deep_extend("force", request_body, { - generationConfig = { - temperature = request_body.temperature, - maxOutputTokens = request_body.max_tokens, - }, - }) - request_body.temperature = nil - request_body.max_tokens = nil +function M.prepare_request_body(provider_instance, prompt_opts, provider_conf, request_body_) + local request_body = {} + request_body.generationConfig = request_body_.generationConfig or {} local use_ReAct_prompt = provider_conf.use_ReAct_prompt == true