Welcome to the Epic News Crew project, powered by crewAI. This template is designed to help you set up a multi-agent AI system with ease, leveraging the powerful and flexible framework provided by crewAI. Our goal is to enable your agents to collaborate effectively on complex tasks, maximizing their collective intelligence and capabilities.
Ensure you have Python >=3.10 <3.13 installed on your system. This project uses UV for dependency management and package handling, offering a seamless setup and execution experience.
First, if you haven't already, install uv:
pip install uv
Next, navigate to your project directory and install the dependencies:
(Optional) Lock the dependencies and install them by using the CLI command:
crewai install
This project uses WeasyPrint to convert HTML reports to PDF. WeasyPrint relies on several system-level libraries. If you plan to use PDF generation features, you'll need to install them.
-
macOS (using Homebrew):
brew install pango cairo libffi gdk-pixbuf fontconfig
Note for macOS users: If WeasyPrint has trouble finding these libraries even after installation (e.g., you see errors like
OSError: cannot load library 'libgobject-2.0-0'
), you might need to set theDYLD_FALLBACK_LIBRARY_PATH
. You can do this for a single command or add it to your shell's configuration file (e.g.,~/.zshrc
or~/.bash_profile
):export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib:$DYLD_FALLBACK_LIBRARY_PATH # Or for Intel Macs, usually: export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib:$DYLD_FALLBACK_LIBRARY_PATH
-
Debian/Ubuntu Linux:
sudo apt-get update sudo apt-get install python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
-
Windows: Please refer to the WeasyPrint documentation for installation instructions, typically involving installing GTK+.
Add your OPENAI_API_KEY
into the .env
file
Add your COMPOSIO_API_KEY
into the .env
file
- Modify
src/epic_news/config/agents.yaml
to define your agents - Modify
src/epic_news/config/tasks.yaml
to define your tasks - Modify
src/epic_news/crew.py
to add your own logic, tools and specific args - Modify
src/epic_news/main.py
to add custom inputs for your agents and tasks
To kickstart your flow and begin execution, run this from the root folder of your project:
crewai flow kickoff
This command initializes the epic-news Flow as defined in your configuration.
This example, unmodified, will run the create a report.md
file with the output of a research on LLMs in the root folder.
The epic-news Crew is composed of multiple AI agents, each with unique roles, goals, and tools. These agents collaborate on a series of tasks, defined in config/tasks.yaml
, leveraging their collective skills to achieve complex objectives. The config/agents.yaml
file outlines the capabilities and configurations of each agent in your crew.
Below is a summary of all specialized crews available in this project. Each includes an example of a valid call or input:
Routes user requests to the appropriate specialized crew based on the input. Acts as the entry point and dispatcher for the system.
Example:
"I want to plan a holiday and need a detailed itinerary."
Monitors and researches news topics, producing comprehensive reports using multiple research and fact-checking agents.
Example:
"Give me a report on the latest advancements in renewable energy."
Creates professional, comprehensive recipes (including Thermomix-optimized when relevant) in both HTML and Paprika 3-compatible YAML formats. Recipes are suitable for direct import into the Paprika app.
Example:
"Generate a French ratatouille recipe for Paprika app."
Finds books and generates book summaries, leveraging search tools and compositional reasoning.
Example:
"Summarize 'Le Petit Prince' and suggest similar books."
Identifies and researches sales contacts at target companies, using a combination of research agents and search tools.
Example:
"Find sales contacts at OpenAI in France."
Plans holidays and creates detailed travel itineraries, including research on destinations, activities, and logistics.
Example:
"Plan a 7-day trip to Japan with cultural and food experiences."
Generates creative poems on request, using a specialized poem-writing agent.
Example:
"Write a poem about spring in Paris."
Prepares for meetings by analyzing context, objectives, and participants, and generating relevant preparation materials.
Example:
"Prepare for a meeting with the marketing team to discuss Q2 strategy."
Conducts open-source intelligence (OSINT) research and reporting, useful for investigations and information gathering.
Example:
"Investigate recent cybersecurity incidents affecting European banks."
Enhances French marketing messages to make them more persuasive and engaging for potential customers, using specialized marketing and copywriting expertise.
Example:
"Améliorer ce message marketing: 'Découvrez notre nouveau produit qui vous aide à gagner du temps.'"
Classifies user content into predefined categories using a classification agent and task.
Example:
"Classify this text: 'The new iPhone features an improved camera.'"
Extracts the main topic from a user request, providing structured topic information for downstream crews.
Example:
"Extract the main topic: 'I'm interested in learning about Mediterranean diets.'"
Captures information about travelers from user input, supporting travel planning and logistics.
Example:
"We are a family of four: two adults and two children."
Extracts travel duration or event timing from user input, assisting other crews with scheduling and planning.
Example:
"We will be traveling from July 1st to July 14th."
When you generate a recipe with the Cooking Crew, the system will produce:
- An HTML recipe file for easy reading and sharing
- A Paprika 3-compatible YAML file as an email attachment
This YAML file can be imported directly into the Paprika recipe management app, making it easy to build your digital cookbook with structured, app-ready recipes.
The Paprika YAML attachment is automatically included when you request a recipe, ensuring seamless integration with Paprika 3 and similar recipe apps.
For support, questions, or feedback regarding the {{crew_name}} Crew or crewAI.
- Visit our documentation
- Reach out to us through our GitHub repository
- Join our Discord
- Chat with our docs
Let's create wonders together with the power and simplicity of crewAI.