From 7229a81594f8baaec503bc435a0d015004237803 Mon Sep 17 00:00:00 2001 From: Xubin Ren Date: Sat, 4 Apr 2026 04:33:20 +0000 Subject: [PATCH] fix(providers): disable Azure SDK retries by default Made-with: Cursor --- nanobot/providers/azure_openai_provider.py | 1 + tests/providers/test_provider_sdk_retry_defaults.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/nanobot/providers/azure_openai_provider.py b/nanobot/providers/azure_openai_provider.py index 2c42be6b3..9fd18e1f9 100644 --- a/nanobot/providers/azure_openai_provider.py +++ b/nanobot/providers/azure_openai_provider.py @@ -58,6 +58,7 @@ class AzureOpenAIProvider(LLMProvider): api_key=api_key, base_url=base_url, default_headers={"x-session-affinity": uuid.uuid4().hex}, + max_retries=0, ) # ------------------------------------------------------------------ diff --git a/tests/providers/test_provider_sdk_retry_defaults.py b/tests/providers/test_provider_sdk_retry_defaults.py index 4c79febc4..b73c50517 100644 --- a/tests/providers/test_provider_sdk_retry_defaults.py +++ b/tests/providers/test_provider_sdk_retry_defaults.py @@ -1,6 +1,7 @@ from unittest.mock import patch from nanobot.providers.anthropic_provider import AnthropicProvider +from nanobot.providers.azure_openai_provider import AzureOpenAIProvider from nanobot.providers.openai_compat_provider import OpenAICompatProvider @@ -18,3 +19,15 @@ def test_anthropic_disables_sdk_retries_by_default() -> None: kwargs = mock_client.call_args.kwargs assert kwargs["max_retries"] == 0 + + +def test_azure_openai_disables_sdk_retries_by_default() -> None: + with patch("nanobot.providers.azure_openai_provider.AsyncOpenAI") as mock_client: + AzureOpenAIProvider( + api_key="sk-test", + api_base="https://example.openai.azure.com", + default_model="gpt-4.1", + ) + + kwargs = mock_client.call_args.kwargs + assert kwargs["max_retries"] == 0