A multi-agent AI tutoring system based on Google's Agent Development Kit (ADK) principles and A2A (Agent-to-Agent) communication protocol. The system features a delegating Tutor Agent, specialized Math and Physics sub-agents, tool integration, and Gemini API integration.
This system demonstrates the power of agent delegation and tool utilization in delivering focused, accurate academic support across different disciplines. The core architecture follows the agent delegation pattern, where a central "Tutor Agent" receives user queries and intelligently routes them to specialized "Sub-Agents" capable of handling specific domains (Math, Physics).
- Tutor Agent: Analyzes user queries and delegates to specialized sub-agents
- Math Agent: Handles mathematical queries with calculator tool integration
- Physics Agent: Handles physics-related queries with lookup tool for constants/formulas
- Tool Integration: Calculator and Lookup tools implemented using ADK's BaseTool framework
- Gemini API Integration: All agent responses generated using the Google Gemini API
- Web Interface: Simple UI for submitting queries and receiving responses
- Backend: Python, FastAPI, ADK
- Frontend: Next.js, React, TypeScript, Tailwind CSS
- Database: MongoDB with Beanie ODM
- Deployment: Vercel (planned)
- Python 3.10+
- Node.js 18+
- Google Gemini API key
- Clone the repository:
git clone https://github.com/SarthakB11/multi-agent-tutoring-bot.git
cd multi-agent-tutoring-bot- Install backend dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env file with your Gemini API key, MongoDB connection string, and other configuration- Run the backend server:
uvicorn src.api.main:app --reload-
Install and run the frontend (React or Next.js):
For the original React frontend:
cd frontend npm install npm run devFor the Next.js frontend:
cd frontend-next npm install npm run devAlternatively, use the run script to start both backend and frontend:
./run.sh
multi-agent-tutoring-bot/
├── src/
│ ├── agents/ # Agent implementations
│ ├── tools/ # Tool implementations
│ ├── api/ # API endpoints
│ ├── utils/ # Utility functions (including MongoDB)
│ ├── config/ # Configuration
│ ├── models/ # Data models
│ └── tests/ # Tests
├── frontend/ # Original React frontend
├── frontend-next/ # Migrated Next.js frontend
├── requirements.txt # Python dependencies
├── run.sh # Run script for local development
├── MIGRATION.md # Migration documentation
└── README.md # Project documentation
This project is licensed under the MIT License - see the LICENSE file for details.