A comprehensive hands-on workshop demonstrating AI agent orchestration using the AGNO framework. This workshop covers individual agents, coordinated teams, and complex workflows for real-world AI applications.
This workshop introduces participants to building sophisticated AI systems using:
- Individual Agents: Specialized AI agents for specific tasks
- Coordinated Teams: Multiple agents working together
- AGNO Workflows: Complex multi-step AI processes
- Real-world Integration: Web search, financial data, content creation
📁 NGMI25/Workshop/
├── 🎮 playground.py # Main application entry point
├── 📋 pyproject.toml # Project dependencies and configuration
├── 🔒 uv.lock # Dependency lock file
├── 📁 agents/ # Individual AI agents
│ ├── 🤖 analysis_agent.py # Data analysis and calculations
│ ├── 🤖 content_agent.py # Creative writing and content creation
│ ├── 🤖 finance_agent.py # Financial data and market analysis
│ ├── 🤖 research_agent.py # 🚧 Workshop exercise (empty)
│ └── 📄 __init__.py
├── 📁 teams/ # Coordinated agent teams
│ ├── 👥 business_team.py # Business intelligence team
│ ├── 👥 creative_team.py # Creative content team
│ ├── 👥 research_team.py # 🚧 Workshop exercise (empty)
│ └── 📄 __init__.py
├── 📁 workflows/ # AGNO workflow orchestrations
│ ├── 🔄 academic_research_workflow.py # Academic research pipeline
│ ├── 🔄 content_pipeline_workflow.py # Content creation workflow
│ ├── 🔄 market_analysis_workflow.py # Market analysis workflow
│ ├── 🔄 research_report_workflow.py # Research report generation
│ └── 📄 __init__.py
└── 📁 tmp/ # SQLite databases and temporary files
├── 💾 agents.db # Agent conversation history
├── 💾 market_workflows.db # Market workflow data
├── 💾 content_workflows.db # Content workflow data
└── 💾 research_workflows.db # Research workflow data
- Python 3.12+ installed
- uv package manager
- Gemini API key from Google AI Studio
-
Clone and navigate to the project:
git clone https://github.com/sohambuilds/mlsaworkshop.git
-
Install dependencies:
# Using uv (recommended) uv sync -
Set up your API key:
# Create .env file echo "GEMINI_API_KEY=your_actual_api_key_here" > .env
-
Run the playground:
# Using uv uv run playground.py -
Access the web interface:
- Open your browser to the provided playground URL
- Interact with agents, teams, and workflows through the web UI
| Agent | Purpose | Tools & Capabilities |
|---|---|---|
| Research Specialist | 🚧 Workshop Exercise | Web search, data gathering |
| Finance Expert | Market analysis & financial data | YFinance API, stock data, financial metrics |
| Content Creator | Creative writing & content | Storytelling, copywriting, content strategy |
| Data Analyst | Calculations & analysis | Mathematical computations, data processing |
| Team | Members | Use Cases |
|---|---|---|
| Research Investigation Team | 🚧 Workshop Exercise | Academic research, fact-checking |
| Business Intelligence Team | Research + Finance + Analysis | Market research, investment analysis |
| Creative Content Team | Content + Research + Analysis | Content marketing, storytelling |
| Workflow | Purpose | Complexity |
|---|---|---|
| Market Analysis | Investment research & analysis | Advanced |
| Content Pipeline | Research → Writing → Publishing | Intermediate |
| Research Report | Academic/business report generation | Advanced |
| Academic Research | Literature review & validation | Expert |
- AGNO: AI Agent Network Orchestration framework
- Google Gemini 2.0: Advanced language model
- FastAPI: Web framework for playground UI
- DuckDuckGo Search: Web search capabilities
- YFinance: Financial data and stock market API
- BeautifulSoup4: Web scraping and parsing
- arXiv: Academic paper research
- SQLAlchemy: Database ORM for conversation persistence
- UV: Fast Python package manager
- Python-dotenv: Environment variable management
- SQLite: Local database for agent memory
File: agents/research_agent.py
Objective: Create a research agent with web search capabilities
Requirements:
- Use DuckDuckGo search tools
- Implement proper error handling
- Add conversation memory with SQLite storage
- Configure rate limiting for API calls
File: teams/research_team.py
Objective: Create a coordinated team for research tasks
Requirements:
- Combine research agent with other specialists
- Define clear team roles and coordination
- Implement team-level instructions
- Handle multi-agent conversations
# Required
GEMINI_API_KEY=your_gemini_api_key
The project includes built-in rate limiting to prevent API quota issues:
- Exponential backoff: Automatically retries with increasing delays
- Delay between retries: 2-second minimum delay
- Request throttling: Manages concurrent API calls
- SQLite databases: Store conversation history and agent memory
- Separate tables: Each agent/team/workflow has isolated storage
- Persistent sessions: Conversations survive application restarts
- Domain expertise: Each agent specializes in specific tasks
- Tool integration: Agents use appropriate external APIs and services
- Memory persistence: Agents remember conversation context
- Role definition: Clear responsibilities for each team member
- Communication protocols: Structured interaction patterns
- Collective intelligence: Teams produce better results than individual agents
- Multi-step processes: Complex tasks broken into manageable steps
- Data flow: Structured information passing between workflow stages
- Error handling: Robust handling of failures and edge cases
- Live data sources: Real-time web search and financial data
- API management: Proper handling of external service limitations
- Scalable architecture: Designed for production-level usage
1. API Key Issues
❌ Please set your GEMINI_API_KEY in .env fileSolution: Create .env file with valid Gemini API key
2. Import Errors
❌ Import error: No module named 'agno'Solution: Install dependencies: uv sync or pip install -r requirements.txt
3. Rate Limit Errors
❌ API rate limit exceededSolution: Built-in rate limiting should handle this automatically
4. Database Lock Errors
❌ Database is lockedSolution: Close other instances of the application
Enable detailed logging:
export AGNO_LOG_LEVEL=DEBUG
uv run playground.py- Official AGNO Docs: Complete framework documentation
- Agent Development: Building individual agents
- Team Coordination: Multi-agent collaboration
- Workflow Orchestration: Complex process automation
- Google Gemini API: Language model capabilities
- Prompt Engineering: Writing effective prompts
- AI Agent Patterns: Agent architecture patterns
This workshop codebase is designed for learning and experimentation:
- Fork the repository for your own experiments
- Complete the workshop exercises in the designated files
- Extend the examples with your own agents and workflows
- Share your creations with the workshop community
This workshop material is provided for educational purposes. Please respect the terms of service for all integrated APIs and services:
- Google Gemini API: Terms of Service
- DuckDuckGo: Privacy Policy
- Yahoo Finance: Terms of Service
- Organizer: MLSA KIIT
- Framework: AGNO Documentation
- API Keys: Google AI Studio
- Support: Your nearest FAQ Team member!
Happy Agent Building! 🤖✨
Built with ❤️ for the MLSA KIIT Captcha the Imposter Agentic AI Workshop