From 2315422fc41177c09cf68422bcd361d371792459 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 09:20:26 +0000 Subject: [PATCH] fix: forward frequency_penalty and presence_penalty to Responses API delegate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses Bugbot review feedback - these parameters were silently ignored when using api='responses' mode. Co-Authored-By: João --- lib/crewai/src/crewai/llms/providers/azure/completion.py | 4 ++++ lib/crewai/tests/llms/azure/test_azure.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/crewai/src/crewai/llms/providers/azure/completion.py b/lib/crewai/src/crewai/llms/providers/azure/completion.py index 263903de0..bd2a982e0 100644 --- a/lib/crewai/src/crewai/llms/providers/azure/completion.py +++ b/lib/crewai/src/crewai/llms/providers/azure/completion.py @@ -250,6 +250,10 @@ class AzureCompletion(BaseLLM): delegate_kwargs["response_format"] = self.response_format if self.stop: delegate_kwargs["stop"] = self.stop + if self.frequency_penalty is not None: + delegate_kwargs["frequency_penalty"] = self.frequency_penalty + if self.presence_penalty is not None: + delegate_kwargs["presence_penalty"] = self.presence_penalty self._responses_delegate = OpenAICompletion(**delegate_kwargs) diff --git a/lib/crewai/tests/llms/azure/test_azure.py b/lib/crewai/tests/llms/azure/test_azure.py index 15301e170..6c7f1c625 100644 --- a/lib/crewai/tests/llms/azure/test_azure.py +++ b/lib/crewai/tests/llms/azure/test_azure.py @@ -1522,6 +1522,8 @@ def test_azure_responses_api_forwards_parameters(): max_tokens=1000, reasoning_effort="high", seed=42, + frequency_penalty=0.3, + presence_penalty=0.6, ) delegate = llm._responses_delegate @@ -1538,6 +1540,8 @@ def test_azure_responses_api_forwards_parameters(): assert delegate.max_tokens == 1000 assert delegate.reasoning_effort == "high" assert delegate.seed == 42 + assert delegate.frequency_penalty == 0.3 + assert delegate.presence_penalty == 0.6 def test_azure_responses_api_call_delegates_to_openai():