Build your first AI agent using Python! This project demonstrates how to create a simple conversational AI agent using modern tools and frameworks.
flowchart TB
subgraph User["User Interaction Layer"]
UI[User Input]
OR[Output Response]
end
subgraph Agent["AI Agent Core"]
LLM["Language Model
(Understanding & Generation)"]
CT[(Context Storage
- Memory & History
- Instructions
- Knowledge)]
TM{"Tool Manager
- Tool Selection
- Task Routing"}
end
subgraph Tools["Available Tools"]
MT[("Storage Systems
- Databases
- Files")]
CT1{{Computation Tools
- Math & Analysis}}
ET>External Tools
- Web & APIs]
OB(((Observability)))
end
UI --> LLM
LLM <--> CT
LLM <--> TM
TM <--> MT
TM <--> CT1
TM <--> ET
TM <--> OB
LLM --> OR
classDef primary fill:#e1f5fe,stroke:#01579b,color:black
classDef secondary fill:#f3e5f5,stroke:#4a148c,color:black
classDef tertiary fill:#e8f5e9,stroke:#1b5e20,color:black
class UI,OR primary
class LLM,CT,TM secondary
class MT,CT1,ET,OB tertiary
This project uses:
Before you begin, ensure you have the following installed:
- git
- Python 3.10+
- uv - Modern Python package installer and environment manager
- ollama - Local LLM provider
- Your favorite text editor (Vim, VSCode, Notepad++, Windsurf, Cursor, etc)
Then run:
git clone https://github.com/tobalo/ai-agent-hello-world.git
cd ai-agent-hello-world # navigate into the cloned repository- Download and install Ollama from ollama.com/download
- Install uv:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"- Create a virtual environment:
uv venv- Activate the virtual environment:
# macOS/Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate- Install dependencies:
uv pip install agno ollama- Start Ollama:
ollama run llama3.2:1b- Launch the agent:
python3 agent.py- Launch the web search agent:
python3 websearch-agent.pyNow that your AI agent is running, you can:
- Customize its behavior and responses
- Add new capabilities using Agno's toolkits
- Experiment with different LLM models available through Ollama