A full-stack conversational AI agent with real-world tool access — search the web, check the weather, run calculations, manage notes, and more. Built with a FastAPI backend and React frontend, powered by Llama 3.3 70B via Groq.
AI Agent Toolbox is a production-ready AI agent application that connects a conversational LLM to a suite of real-world tools. Rather than a static chatbot, the agent dynamically selects the right tool for each query — fetching live weather, performing currency conversions, searching the web, and persisting notes — all within a clean, responsive chat interface.
| Tool | Description |
|---|---|
| 🧮 Calculator | Mathematical operations and live currency conversions |
| 🌤️ Weather | Real-time weather data via OpenWeatherMap |
| 🔍 Web Search | Live internet search via Tavily / SerpAPI |
| 📝 Notes | Persistent note creation, retrieval, and management |
| 🕐 DateTime | Time, date, and timezone-aware operations |
| 💬 Conversational AI | Llama 3.3 70B via Groq — fast, capable, free-tier friendly |
┌──────────────────────────────────────────────────────────┐
│ React Frontend │
│ Chat UI · Real-time Updates · Tailwind CSS │
└─────────────────────────┬────────────────────────────────┘
│ REST / HTTP
┌─────────────────────────▼────────────────────────────────┐
│ FastAPI Backend │
│ RESTful API · CORS · Input Validation │
└─────────────────────────┬────────────────────────────────┘
│
┌─────────────────────────▼────────────────────────────────┐
│ LangChain Agent Orchestrator │
│ Tool Selection · Reasoning · Response Generation │
└──────┬──────────┬──────────┬──────────┬──────────┬───────┘
│ │ │ │ │
Calculator Weather Web Search Notes DateTime
Backend
- FastAPI — high-performance Python web framework
- LangChain — agent orchestration and tool routing
- Groq — LLM inference (Llama 3.3 70B)
- SQLAlchemy — database ORM for notes persistence
- Uvicorn — ASGI server
Frontend
- React 19 — UI library
- Vite — fast build tooling
- TanStack Query — async state and data fetching
- Tailwind CSS — utility-first styling
- Radix UI — accessible component primitives
- Axios — HTTP client
- Python 3.8+
- Node.js 18+
- API keys (see Configuration)
git clone https://github.com/Emart29/ai-agent-toolbox.git
cd ai-agent-toolbox# Linux / Mac
chmod +x setup.sh && ./setup.sh
# Windows
setup.bat# Edit backend/.env
GROQ_API_KEY=your_groq_api_key
TAVILY_API_KEY=your_tavily_api_key
OPENWEATHER_API_KEY=your_openweather_key# Terminal 1 — Backend
cd backend
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
uvicorn app.main:app --reload
# Terminal 2 — Frontend
cd frontend
npm run devhttp://localhost:5173
| Service | Purpose | Free Tier | Link |
|---|---|---|---|
| Groq | LLM inference | ✅ Available | console.groq.com |
| Tavily | Web search | ✅ 1,000 searches/mo | tavily.com |
| Service | Purpose | Free Tier | Link |
|---|---|---|---|
| OpenWeatherMap | Weather data | ✅ 1,000 calls/day | openweathermap.org |
| Fixer.io | Currency conversion | ✅ 100 req/mo | fixer.io |
| SerpAPI | Fallback web search | ✅ 100 searches/mo | serpapi.com |
The application is cloud-ready and can be deployed to any of the following:
| Platform | Frontend | Backend |
|---|---|---|
| Vercel / Netlify | ✅ | — |
| Heroku / Railway | ✅ | ✅ |
| AWS EC2 / DigitalOcean | ✅ | ✅ |
| Google App Engine | ✅ | ✅ |
See deploy.md for step-by-step instructions.
- API keys managed via environment variables — never hardcoded
- CORS configured for specific, whitelisted origins
- Input validation enforced on all API endpoints
- Production-ready HTTPS and security header support
This project is licensed under the MIT License.
Emmanuel Nwanguma