This repository contains a series of projects demonstrating the capabilities and evolution of CrewAI, a framework for orchestrating role-playing AI agents. Each day's project builds upon the previous, showcasing different aspects and features of CrewAI.
- Basic setup of CrewAI
- Creating simple agents and tasks
- Understanding the fundamental concepts of CrewAI
- Implementing multiple agents with distinct roles
- Designing tasks that require agent collaboration
- Exploring basic inter-agent communication
- Introducing more complex task structures
- Implementing task dependencies and sequences
- Enhancing agent decision-making capabilities
- Creating a system for news gathering and analysis
- Implementing agents for research, analysis, and report writing
- Generating comprehensive news reports automatically
- Developing an automated content marketing workflow
- Creating specialized agents for content strategy, writing, editing, and SEO
- Producing a complete content marketing strategy with AI assistance
- Introduction to the new Flow system in CrewAI
- Implementing multiple crews with different configurations
- Using YAML files for agent and task definitions
- Visualizing workflows with the
flow.plot()
method
Each day's project is contained in its own directory (e.g., day_01
, day_02
, etc.). To get started with a specific day:
- Navigate to the day's directory
- Follow the README instructions in that directory for setup and execution
- Python >=3.10 <=3.13
- Poetry (for dependency management)
- Clone this repository
- Install Poetry if you haven't already:
pip install poetry
- Navigate to the specific day's directory
- Install dependencies:
poetry install
- Set up your OpenAI API key in the
.env
file
Typically, you can run a day's project with:
poetry run python src/day_XX/main.py
Replace XX
with the day number (e.g., 01
, 02
, etc.)
This series also includes Jupyter notebooks for interactive exploration and execution of CrewAI concepts. Here's a list of the available notebooks:
-
day_01.ipynb
: Introduction to CrewAI- This notebook demonstrates the basic setup and usage of CrewAI, introducing simple agents and tasks.
-
day_02.ipynb
: Local LLM Agents- shows how to use Ollama for creating agents and tasks
-
day_03.ipynb
: News Aggregator start- Starts the news aggregator project with Tools
-
day_04.ipynb
: Custom Tooling- Shows how to create custom tools for the agents using a more refined SerperDev tool
-
day_05.ipynb
: New Feature in CrewAI- Introduces the new Flow system in CrewAI, implementing multiple crews and using YAML files for configurations.
To run the Jupyter notebooks:
-
Ensure you have Jupyter installed. If not, you can install it using:
pip install jupyter
-
Navigate to the project directory and start Jupyter:
jupyter notebook
-
In the Jupyter interface, navigate to the desired notebook (e.g.,
day_01.ipynb
) and open it. -
You can run the cells individually by clicking on them and pressing Shift+Enter, or you can run all cells from the "Cell" menu by selecting "Run All".
-
Make sure you have set up your environment variables (like OPENAI_API_KEY) before running the notebooks.
Each notebook corresponds to its respective day's project, allowing for an interactive exploration of the concepts covered in that day's lesson.