Skip to main content

Azure OpenAI

The azure-openai provider supports OpenAI models hosted on Azure.

note

For the new Microsoft Foundry portal, use microsoft-foundry instead.

Basic Example​

client<llm> MyClient {
provider azure-openai
options {
resource_name "my-resource-name"
deployment_id "my-deployment-id"
api_version "2024-02-01"
api_key env.AZURE_OPENAI_API_KEY
}
}
warning

api_version is required. Azure returns "not found" if the version is not specified.

BAML-Specific Options​

OptionTypeRequiredDefaultDescription
api_keystringNoenv.AZURE_OPENAI_API_KEYAPI key
resource_namestringYes*-Azure resource name
deployment_idstringYes*-Deployment ID
api_versionstringYes-API version
base_urlstringNoAuto-generatedFull API URL
headersobjectNo-Additional headers

*Required unless base_url is specified.

Using base_url Instead​

client<llm> MyClient {
provider azure-openai
options {
base_url "https://my-resource-name.openai.azure.com/openai/deployments/my-deployment-id"
api_version "2024-02-01"
api_key env.AZURE_OPENAI_API_KEY
}
}

Custom Headers​

client<llm> MyClient {
provider azure-openai
options {
resource_name "my-resource-name"
deployment_id "my-deployment-id"
api_version "2024-02-01"
api_key env.AZURE_OPENAI_API_KEY
headers {
"X-My-Header" "my-value"
}
}
}

Reasoning Models​

warning

For reasoning models (o1, o1-mini), use max_completion_tokens instead of max_tokens:

client<llm> AzureO1 {
provider azure-openai
options {
resource_name "my-resource"
deployment_id "o1-mini"
api_version "2024-02-01"
max_tokens null
}
}

Provider Parameters​

Standard OpenAI parameters are supported:

OptionTypeDescription
temperaturefloatSampling temperature
max_tokensintMaximum response tokens
top_pfloatNucleus sampling

See the Azure OpenAI API documentation for all options.

See Also​