A smart multi-agent system that creates personalized learning programs, roadmaps, curated resources, and hands-on exercises using AI + Google Docs — in one click.
AI Teaching Agent Team is an AI-powered educational tool that brings together four intelligent agents — each with a unique academic role — to create an end-to-end, customized learning experience on any topic you enter.
From building a foundational knowledge base, to designing a full roadmap, to curating real resources and crafting practice exercises — all results are neatly written to auto-generated Google Docs, so you can study or share them instantly.
All agents are powered by
GPT-4o-miniand use tools likeGoogle Docs,SerpAPI, andComposio.
- 📖 Auto-generates Google Docs for each learning section
- 🤖 Four collaborative AI agents, each with a specialized purpose
- 🔗 Uses Composio to integrate Google Docs programmatically
- 🔍 Leverages SerpAPI for real-time resource discovery
- ⚡️ Instant deployment via Streamlit UI
- 🧩 Modular and customizable agent structure
📦 AI_teaching_agent_team/
├── 📁 agents/ # 🤖 Definitions for each specialized AI agent
│ ├── professor.py # 👨🏫 "Professor" agent: creates the knowledge base
│ ├── academic_advisor.py # 🧭 "Academic Advisor" agent: builds learning roadmaps
│ ├── research_librarian.py #🔍 "Research Librarian" agent: curates resources
│ └── teaching_assistant.py # 📝 "Teaching Assistant" agent: creates exercises & quizzes
│
├── 📁 tools/ # 🛠️ Tools used by agents
│ └── composio_tools.py # 🧰 Wrappers and helpers for Composio Google Docs API
│
├── 📁 config/
│ └── page_config.py # 📄 Streamlit page configuration settings
│
├── 📁 core/ # 🔧 Core app logic and shared session
│ ├── session_state.py # 🗃️ Handles Streamlit session state management
│ ├── api_validation.py # ✅ Validates and manages API key inputs
│ └── topic_input.py # 📝 Manages user topic input logic
│
├── 📁 ui/
│ ├── sidebar.py # 🖥️ Sidebar UI for API key inputs and settings
│ └── display_outputs.py # 🖼️ Logic to display agent outputs in the main app
│
├── 📁 utils/
│ └── doc_link_extractor.py # 🔗 Utility to extract Google Doc links from agent
│
├── 📄 app.py # 🚀 Main Streamlit app – UI + Agent Orchestration
├── 📄 requirements.txt # 📜 dependencies
├── 📄 LICENSE # 📝 MIT License.
└── 📄 README.md # 📘 Project documentation- Streamlit - Interactive UI
- Agno AI - Agent architecture
- OpenAI - GPT-4o-mini model
- Composio - Google Docs integration
- SerpAPI - Web search and resource discovery
🔍 Topic: "LoRA for LLM fine-tuning"
📄 Professor: Google Doc with technical explanation
📄 Academic Advisor: Google Doc with a learning roadmap
📄 Research Librarian: Curated resources (YouTube, GitHub, blogs)
📄 Teaching Assistant: Exercises and project tasks
✅ All neatly structured. All in shareable Docs.
1. Clone the Repo
git clone https://github.com/andredisa/AI_teaching_agent_team.git
cd ai-teaching-agent-team2. Install Dependencies
pip install -r requirements.txt3. Run the App
streamlit run app.py4. Enter API Keys
-
🔐 OpenAI API Key
-
🔐 Composio API Key
-
🔐 SerpAPI Key
Input them securely from the sidebar UI.
5. Enter a Topic Type a topic like:
e.g., Large Language Models, Graph Neural Networks, Quantum Computing
Then click Start — and watch your personalized learning suite get built by the AI agents 🚀
-
🧠 Agent memory and personalization
Let agents remember user preferences, learning pace, and previous topics for a more tailored experience. -
🌍 Multi-language learning materials
Automatically translate content and create learning docs in multiple languages to reach global learners. -
🔄 Export to PDF and Notion
Add functionality to export all generated content into formatted PDFs or directly publish into Notion pages. -
💬 Conversational feedback from each agent
Allow users to ask follow-up questions to each agent and receive interactive responses in a chat-like format.
🎉 Contributions are more than welcome!
If you find a bug 🐞, have a feature request ✨, or want to improve the code 💻:
- Open an Issue
- Submit a Pull Request 🚀
Let’s build this together!
📄 This project is released under the MIT License.
Please refer to the LICENSE file for full details.
If you find my work useful and would like to support me, you can buy me a coffee! Your support helps me keep creating and improving my projects. Thank you! 😊

