From 7d137d32cb6ddbe0948fff67a485224b9401e714 Mon Sep 17 00:00:00 2001 From: kernitus <2789734+kernitus@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:44:41 +0000 Subject: [PATCH] fix: do not allow max_tokens & max_completion_tokens at the same time (#1633) * fix: do not allow max_tokens & max_completion_tokens at the same time * chore: fix formatting --- lua/avante/providers/azure.lua | 3 +-- lua/avante/providers/openai.lua | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lua/avante/providers/azure.lua b/lua/avante/providers/azure.lua index 624eddb..b621f75 100644 --- a/lua/avante/providers/azure.lua +++ b/lua/avante/providers/azure.lua @@ -32,8 +32,7 @@ function M:parse_curl_args(prompt_opts) end end - -- NOTE: When using reasoning models set supported parameters - self.set_reasoning_params(provider_conf, request_body) + self.set_allowed_params(provider_conf, request_body) return { url = Utils.url_join( diff --git a/lua/avante/providers/openai.lua b/lua/avante/providers/openai.lua index 4ce11ba..b0d40df 100644 --- a/lua/avante/providers/openai.lua +++ b/lua/avante/providers/openai.lua @@ -69,13 +69,14 @@ end function M.is_reasoning_model(model) return model and string.match(model, "^o%d+") ~= nil end -function M.set_reasoning_params(provider_conf, request_body) +function M.set_allowed_params(provider_conf, request_body) if M.is_reasoning_model(provider_conf.model) then request_body.temperature = 1 - request_body.reasoning_effort = request_body.reasoning_effort else request_body.reasoning_effort = nil end + -- If max_tokens is set in config, unset max_completion_tokens + if request_body.max_tokens then request_body.max_completion_tokens = nil end end function M:parse_messages(opts) @@ -305,8 +306,7 @@ function M:parse_curl_args(prompt_opts) request_body.include_reasoning = true end - -- NOTE: When using reasoning models set supported parameters - self.set_reasoning_params(provider_conf, request_body) + self.set_allowed_params(provider_conf, request_body) local tools = nil if not disable_tools and prompt_opts.tools then