fix(azure_ai): build MAI image generation URL correctly for /mai/ root bases

This commit is contained in:
mateo-berri 2026-06-08 21:23:45 +00:00
parent 92a917fc1c
commit f1082013fc
No known key found for this signature in database
2 changed files with 20 additions and 6 deletions

View file

@ -28,15 +28,19 @@ class AzureFoundryMAIImageGenerationConfig(BaseImageGenerationConfig):
if api_base is None:
raise ValueError("api_base is required for Azure AI MAI image generation")
api_base = api_base.rstrip("/")
api_version = api_version or "preview"
path, separator, query = api_base.partition("?")
path = path.rstrip("/")
if "/mai/" in api_base:
if "?" in api_base:
return api_base
return f"{api_base}?api-version={api_version}"
if "/mai/" in path:
prefix, _, _ = path.partition("/images/")
path = f"{prefix}/images/generations"
else:
path = f"{path}/mai/v1/images/generations"
return f"{api_base}/mai/v1/images/generations?api-version={api_version}"
if separator:
return f"{path}?{query}"
return f"{path}?api-version={api_version}"
@staticmethod
def get_mai_image_edit_url(

View file

@ -80,6 +80,16 @@ class TestAzureMAIImageGeneration:
)
assert url == api
def test_get_mai_image_generation_url_appends_generations_to_mai_root(self):
url = AzureFoundryMAIImageGenerationConfig.get_mai_image_generation_url(
api_base="https://my-resource.services.ai.azure.com/mai/v1",
api_version="preview",
)
assert (
url
== "https://my-resource.services.ai.azure.com/mai/v1/images/generations?api-version=preview"
)
def test_get_azure_ai_image_generation_config_returns_mai(self):
config = get_azure_ai_image_generation_config("MAI-Image-2.5")
assert isinstance(config, AzureFoundryMAIImageGenerationConfig)