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

# Azure OpenAI Reasoning Tools

> Azure OpenAI agent pairs ReasoningTools with web search to write an NVDA vs TSLA report.

<Warning>
  Microsoft schedules the pinned `gpt-4o-mini` model for retirement on October 1, 2026 and lists `gpt-4.1-mini` as its replacement. Azure OpenAI's `id` identifies your deployment, so deploy the replacement and use that deployment name before running. See the [Azure model retirement schedule](https://learn.microsoft.com/en-us/azure/foundry-classic/openai/concepts/model-retirement-schedule?view=foundry-classic).
</Warning>

```python azure_openai_reasoning_tools.py theme={null}
"""
Azure Openai Reasoning Tools
============================

Demonstrates this reasoning cookbook example.
"""

from agno.agent import Agent
from agno.models.azure.openai_chat import AzureOpenAI
from agno.tools.reasoning import ReasoningTools
from agno.tools.websearch import WebSearchTools


# ---------------------------------------------------------------------------
# Create Example
# ---------------------------------------------------------------------------
def run_example() -> None:
    reasoning_agent = Agent(
        model=AzureOpenAI(id="gpt-4o-mini"),
        tools=[
            WebSearchTools(),
            ReasoningTools(
                enable_think=True,
                enable_analyze=True,
                add_instructions=True,
                add_few_shot=True,
            ),
        ],
        instructions="Use tables where possible. Think about the problem step by step.",
        markdown=True,
    )

    reasoning_agent.print_response(
        "Write a report comparing NVDA to TSLA.",
        stream=True,
        show_full_reasoning=True,
    )


# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    run_example()
```

## Run the Example

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno ddgs openai
    ```
  </Step>

  <Step title="Export environment variables">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
      export AZURE_OPENAI_API_KEY="your_azure_openai_api_key_here"
      export AZURE_OPENAI_ENDPOINT="your_azure_openai_endpoint_here"
      ```

      ```bash Windows theme={null}
      $Env:AZURE_OPENAI_API_KEY="your_azure_openai_api_key_here"
      $Env:AZURE_OPENAI_ENDPOINT="your_azure_openai_endpoint_here"
      ```
    </CodeGroup>
  </Step>

  <Step title="Configure the Azure deployment">
    Deploy `gpt-4.1-mini`. Name the deployment `gpt-4.1-mini`, or replace `AzureOpenAI(id="gpt-4o-mini")` with `AzureOpenAI(id="<your-deployment-name>")` in the saved file.
  </Step>

  <Step title="Run the example">
    Save the code above as `azure_openai_reasoning_tools.py`, then run:

    ```bash theme={null}
    python azure_openai_reasoning_tools.py
    ```
  </Step>
</Steps>

Full source: [cookbook/10\_reasoning/tools/azure\_openai\_reasoning\_tools.py](https://github.com/agno-agi/agno/blob/main/cookbook/10_reasoning/tools/azure_openai_reasoning_tools.py)
