A comprehensive laboratory for experimenting with multi-agent AI systems, featuring practical implementations using modern frameworks like CrewAI, SmolAgents, LlamaIndex, LangGraph, and Agno. This repository serves as both a learning resource and a foundation for building advanced AI agent applications.
- Multi-agent Orchestration: Implement complex workflows with CrewAI and SmolAgents
- Real-world Use Cases: Customer support, office management, research, data analysis, and more
- LLM Integration: Connect with OpenAI, Gemini, Llama, and other leading language models
- Tool Utilization: Web search, scraping, visualization, and custom tool creation
- Observability: Telemetry and tracing with Phoenix and OpenInference
- Framework Comparison: See how different agent frameworks handle similar tasks
crewAI/: Sophisticated multi-agent systems demonstrating CrewAI capabilities- Role-based agent collaboration
- Task planning and execution
- Customizable workflows for business scenarios
smolagents/: Lightweight, tool-enhanced agents using SmolAgents- Code generation and execution
- Web-enabled agents
- Integration with Gemini and Vertex AI
llamaindex/: Data-driven agents using LlamaIndex- RAG (Retrieval-Augmented Generation) implementations
- Document processing and knowledge retrieval
- Query engines and structured outputs
langgraph/: Flow-based agent systems with LangGraph- State management for complex agent interactions
- Directed graph workflows
- Conditional decision making
agno/: Experiments with the Agno framework- Task planning and execution
- Tool integration patterns
- Multi-agent coordination
pyproject.toml: Project dependencies and metadata
- Python 3.12+
- Jupyter or VS Code with Jupyter extension
- API keys for various LLM providers (as needed)
# Clone the repository
git clone https://github.com/padmanabhan-r/Agents-Lab.git
cd Agents-Lab
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .Create a .env file in the project root with your API keys:
OPENAI_API_KEY=your-openai-key
GOOGLE_API_KEY=your-google-key
# Add other API keys as needed
- Navigate to any notebook directory (e.g.,
crewAI/,smolagents/) - Open a notebook with Jupyter or VS Code
- Read the documentation within each notebook
- Execute cells to see agents in action
- Modify parameters and prompts to experiment with different behaviors
- Research Assistant: Automatically gather, analyze, and summarize information on a topic
- Customer Support: Create multi-agent systems that handle user queries and escalate when needed
- Data Analysis: Use agents to clean, analyze, and visualize data with minimal human intervention
Key libraries (see pyproject.toml for the complete list):
crewai,crewai-tools: Multi-agent orchestrationsmolagents[litellm,telemetry]: Lightweight agent frameworkarize-phoenix,openinference-instrumentation-*: Telemetry and tracingplotly,geopandas,shapely,pandas,numpy: Data visualization and analysisgoogle-cloud-aiplatform,google-auth: Google AI integrationipywidgets,ipykernel: Jupyter notebook support
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Author: Padmanabhan (padmanabhan-r)
If you find this repository useful, please consider giving it a star ⭐