Skip to content

This is a project where I try and implement crewai in a simple multi-agent project. I use a research agent and a blog writing agent with a goal of producing a 2000 word long blog at the end as output.

License

Notifications You must be signed in to change notification settings

Sir-Sloth-The-Lazy/ResearchAndBlogWriter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Research & Blog Crew

Python CrewAI uv

Automate Your Content Pipeline with AI Agents


📖 Overview

Research & Blog Crew is an intelligent multi-agent system that transforms a simple topic into a comprehensive, engaging blog post. By orchestrating specialized AI agents powered by Google Gemini 1.5 Flash, this project automates the heavy lifting of research and writing.

🤖 The Crew

Agent Icon Role Mission
Researcher 🕵️‍♂️ Senior Data Researcher Scour the web/knowledge base for the latest facts, trends, and deep insights.
Writer ✍️ Content Strategist Synthesize complex data into a readable, engaging, and professional blog post.

📂 Project Structure

research_and_blog_crew/
├── src/
│   └── research_and_blog_crew/
│       ├── config/
│       │   ├── agents.yaml      # Agent definitions and behaviors
│       │   └── tasks.yaml       # Task descriptions and expected outputs
│       ├── tools/               # Custom tools for agents
│       ├── crew.py              # Main CrewAI orchestration logic
│       └── main.py              # Entry point and execution setup
├── .env                         # Environment variables (API keys)
├── pyproject.toml               # Project dependencies (managed by uv)
└── README.md                    # Project documentation

🧩 Key Files Description

  • src/research_and_blog_crew/crew.py: The heart of the application. It defines the @crew, @agent, and @task decorators that assemble the AI team.
  • src/research_and_blog_crew/main.py: The command-line interface entry point. It handles user inputs (like the topic) and kicks off the crew.
  • src/research_and_blog_crew/config/agents.yaml: A YAML configuration file where you define the persona, role, and backstory of your agents.
  • src/research_and_blog_crew/config/tasks.yaml: A YAML configuration file where you describe the specific tasks each agent must complete.

🛠️ Prerequisites

  • Python: Version 3.10 up to 3.13.
  • uv: An extremely fast Python package and project manager.

🚀 Quick Setup

👉 Click here for Step-by-Step Installation Instructions

1. Clone the Repository

git clone https://github.com/Sir-Sloth-The-Lazy/ResearchAndBlogWriter.git
cd ResearchAndBlogWriter

2. Install uv

If you don't have it yet:

pip install uv

3. Sync Dependencies

Install the exact environment needed for the crew:

uv sync

4. Configure Environment

Create your secret configuration:

touch .env

Open .env and add your keys:

gemini_api_key=YOUR_GOOGLE_GEMINI_API_KEY
MODEL=gemini/gemini-1.5-flash

🏃‍♂️ How to Run

Execute the crew with a single command:

crewai run

📂 Output

The final blog post will be generated in the blogs/ directory:

  • blogs/blog.md

⚙️ Customization

Customize the topic in src/research_and_blog_crew/main.py:

inputs = {
    'topic': 'The Future of Quantum Computing',
    'current_year': str(datetime.now().year)
}

🤝 Contributing

Got ideas? We'd love to see them!

  1. Fork the repo
  2. Create a feature branch
  3. Submit a Pull Request

📄 License

This project is licensed under the MIT License.

About

This is a project where I try and implement crewai in a simple multi-agent project. I use a research agent and a blog writing agent with a goal of producing a 2000 word long blog at the end as output.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages