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
| Option | Type | Required | Default | Description |
|---|---|---|---|---|
api_key | string | No | env.AZURE_OPENAI_API_KEY | API key |
resource_name | string | Yes* | - | Azure resource name |
deployment_id | string | Yes* | - | Deployment ID |
api_version | string | Yes | - | API version |
base_url | string | No | Auto-generated | Full API URL |
headers | object | No | - | 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:
| Option | Type | Description |
|---|---|---|
temperature | float | Sampling temperature |
max_tokens | int | Maximum response tokens |
top_p | float | Nucleus sampling |
See the Azure OpenAI API documentation for all options.