> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upsonic.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure OpenAI

> Using Azure OpenAI Service with Upsonic

## Overview

Azure OpenAI Service provides access to OpenAI models through Microsoft Azure with enterprise features, compliance, and regional deployment.

**Model Class:** `OpenAIChatModel` (uses Azure provider)

## Authentication

```bash theme={null}
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
export AZURE_OPENAI_API_KEY="..."
export OPENAI_API_VERSION="2024-02-15-preview"
```

## Examples

```python theme={null}
from upsonic import Agent, Task
from upsonic.models.azure import AzureModel

model = AzureModel(model_name="gpt-4o")
agent = Agent(model=model)

task = Task("Hello, how are you?")
result = agent.do(task)
print(result)
```

## Model Settings

You can set model parameters in two ways: on the model or on the Agent.

**On the model:**

```python theme={null}
from upsonic import Agent, Task
from upsonic.models.azure import AzureModel, AzureModelSettings

model = AzureModel(
    model_name="gpt-4o",
    settings=AzureModelSettings(max_tokens=1024, temperature=0.7)
)
agent = Agent(model=model)
```

**On the Agent:**

```python theme={null}
from upsonic import Agent, Task
from upsonic.models.azure import AzureModelSettings

agent = Agent(
    model="azure/gpt-4o",
    settings=AzureModelSettings(max_tokens=1024, temperature=0.7)
)
```

## Parameters

| Parameter             | Type             | Description                    | Default        | Source |
| --------------------- | ---------------- | ------------------------------ | -------------- | ------ |
| `max_tokens`          | `int`            | Maximum tokens to generate     | Model-specific | Base   |
| `temperature`         | `float`          | Sampling temperature (0.0-2.0) | 1.0            | Base   |
| `top_p`               | `float`          | Nucleus sampling               | 1.0            | Base   |
| `seed`                | `int`            | Random seed                    | None           | Base   |
| `stop_sequences`      | `list[str]`      | Stop sequences                 | None           | Base   |
| `presence_penalty`    | `float`          | Token presence penalty         | 0.0            | Base   |
| `frequency_penalty`   | `float`          | Token frequency penalty        | 0.0            | Base   |
| `logit_bias`          | `dict[str, int]` | Token likelihood modifier      | None           | Base   |
| `parallel_tool_calls` | `bool`           | Allow parallel tools           | True           | Base   |
| `timeout`             | `float`          | Request timeout (seconds)      | 600            | Base   |
