Overview
TheAzureOpenAILLMClient provides integration with OpenAI models hosted on Azure, supporting both the native Azure OpenAI SDK and OpenAI’s v1 API compatibility endpoint.
Installation
Basic Usage
Constructor
AsyncAzureOpenAI | AsyncOpenAI
required
Pre-configured Azure OpenAI client. Must be either:
AsyncAzureOpenAIfor native Azure SDKAsyncOpenAIwith Azure v1 API endpoint
LLMConfig | None
default:"None"
Configuration object. If
None, creates default config.int
default:"16384"
Maximum output tokens for responses.
str | None
default:"None"
Reasoning effort level for reasoning models (GPT-5, o1, o3). Options:
'minimal', 'low', 'medium', 'high'str | None
default:"None"
Verbosity level for reasoning models. Options:
'low', 'medium', 'high'Caching is not supported. The
cache parameter in the base class is always False.Azure SDK Setup
Option 1: AsyncAzureOpenAI (Recommended)
Option 2: AsyncOpenAI with Azure v1 Endpoint
Supported Models
All OpenAI models available on Azure are supported: Reasoning Models (via responses.parse):gpt-5-*deploymentso1-*deploymentso3-*deployments
gpt-4odeploymentsgpt-4-turbodeploymentsgpt-4deploymentsgpt-3.5-turbodeployments
Use your Azure deployment name as the
model parameter, not the base model name.Structured Output Handling
The client automatically selects the appropriate API based on model type:Reasoning Models (GPT-5, o1, o3)
Usesresponses.parse API:
Standard Models (GPT-4o, etc.)
Usesbeta.chat.completions.parse API:
Response Parsing
The client handles different response formats:ParsedChatCompletion (Standard Models)
Responses.parse (Reasoning Models)
Reasoning Model Configuration
For GPT-5 and o-series deployments:reasoning:'minimal','low','medium','high'verbosity:'low','medium','high'
Reasoning models do not support temperature. The client automatically omits temperature for these models.
Error Handling
Refusals
Rate Limits
Automatic Retries
The client retries up to 2 times for:- Validation errors
- JSON parsing errors
- Transient API failures
Token Usage Tracking
Track token consumption across requests:Model Detection
The client automatically detects reasoning models:- Uses
responses.parseinstead ofbeta.chat.completions.parse - Omits
temperatureparameter - Includes
reasoningandverbosityoptions
Example: Complete Integration
Performance Tips
- Use appropriate deployment sizes: Deploy both large and small models
- Set reasonable max_tokens: Azure charges per token
- Monitor quotas: Azure has deployment-specific rate limits
- Use model_size parameter: Let Graphiti choose optimal deployment