agent_with_tools.py
"""
Agent With Tools
================
Demonstrates agent with tools.
"""
from typing import List
from agno.agent.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.os import AgentOS
from agno.os.interfaces.agui import AGUI
from agno.tools import tool
from agno.tools.websearch import WebSearchTools
# ---------------------------------------------------------------------------
# Create Example
# ---------------------------------------------------------------------------
# Frontend Tools
@tool(external_execution=True)
def generate_haiku(
english: List[str], japanese: List[str], image_names: List[str]
) -> str:
"""Generate a haiku in Japanese and English and display it in the frontend."""
return "Haiku generated and displayed in frontend"
agent = Agent(
model=OpenAIResponses(id="gpt-5.4"),
tools=[
WebSearchTools(),
generate_haiku,
],
description="You are a helpful AI assistant with backend and frontend tools. You can search the web and create haikus that render in the frontend.",
instructions="""
You are a versatile AI assistant with the following capabilities:
**Tools (executed on server):**
- Web search using DuckDuckGo for finding current information
Always be helpful, creative, and use the most appropriate tool for each request!
""",
add_datetime_to_context=True,
add_history_to_context=True,
add_location_to_context=True,
timezone_identifier="Etc/UTC",
markdown=True,
debug_mode=True,
)
# Setup your AgentOS app
agent_os = AgentOS(
agents=[agent],
interfaces=[AGUI(agent=agent)],
)
app = agent_os.get_app()
# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
"""Run your AgentOS.
You can see the configuration and available apps at:
http://localhost:9001/config
Use Port 9001 to configure Dojo endpoint.
"""
agent_os.serve(app="agent_with_tools:app", port=9001, reload=True)
Run the Example
1
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2
Install dependencies
uv pip install -U "agno[agui,os]" ddgs openai
3
Export your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"
$Env:OPENAI_API_KEY="your_openai_api_key_here"
4
Run the example
Save the code above as
agent_with_tools.py, then run:python agent_with_tools.py