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():