Azure OpenAI with Reasoning Tools

Pair ReasoningTools with WebSearchTools on an AzureOpenAI gpt-4o-mini agent to research and reason through a report.

Add the following code to your Python file

azure_openai_reasoning_tools.py
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

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,
)

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai ddgs

Export your Azure OpenAI credentials

  export AZURE_OPENAI_API_KEY="your_azure_openai_api_key_here"
  export AZURE_OPENAI_ENDPOINT="your_azure_openai_endpoint_here"
  export AZURE_OPENAI_DEPLOYMENT="your_azure_openai_deployment_here"

Run Agent

python azure_openai_reasoning_tools.py