https://github.com/mmcc007/openai_swarm_firecrawl
https://github.com/mmcc007/openai_swarm_firecrawl
Last synced: 26 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mmcc007/openai_swarm_firecrawl
- Owner: mmcc007
- Created: 2024-10-15T16:42:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-16T01:48:49.000Z (12 months ago)
- Last Synced: 2025-08-28T00:04:02.247Z (about 1 month ago)
- Language: Python
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Swarm Firecrawl Marketing Agent
A multi-agent system using OpenAI's Swarm for AI-powered content analysis and generation, integrated with Firecrawl for web scraping. This project features a Gradio-based user interface for easy interaction and configuration of the agent swarm.
## Features
- Web scraping using Firecrawl API
- Configurable multi-agent system for content analysis and generation
- Interactive Gradio-based graphical user interface
- Real-time updates on scraping and agent progress
- Ability to modify agent configurations on-the-fly## Requirements
- Python 3.7+
- Firecrawl API key
- OpenAI API key## Setup
1. Clone the repository:
```
git clone https://github.com/your-username/swarm-firecrawl-marketing-agent.git
cd swarm-firecrawl-marketing-agent
```2. Install the required packages:
```
pip install -r requirements.txt
```3. Set up your environment variables in a `.env` file:
```
OPENAI_API_KEY=your_openai_api_key
FIRECRAWL_API_KEY=your_firecrawl_api_key
```## Usage
### User Interface
To use the Gradio-based user interface:
1. Run the user interface:
```
python user_interface.py
```2. In the Gradio interface:
- The URL is pre-filled with https://www.okgo.app/, but you can change it if needed.
- Click "Scrape Website" to fetch the content.
- Modify agent configurations in the respective tabs if desired.
- Click "Run Workflow" to process the scraped content through the SwarmEditor.### Configuration
The system uses a configuration file to define the agents in the swarm. You can modify the `swarm_config.json` file to change the number of agents, their names, and instructions.
Example configuration:
```json
{
"agents": [
{
"name": "Agent 1",
"instructions": "Process the input data and provide initial insights."
},
{
"name": "Agent 2",
"instructions": "Analyze the insights from Agent 1 and generate recommendations."
},
{
"name": "Agent 3",
"instructions": "Create a final report based on the recommendations from Agent 2."
}
]
}
```### Integration Test
To run the integration test:
```
python integration_test.py
```This will use Firecrawl to scrape https://www.okgo.app/, then pass the scraped content through the SwarmEditor workflow, and finally output the result to stdout.
## Project Structure
- `swarm_editor.py`: Contains the SwarmEditor class for managing the agent swarm.
- `user_interface.py`: Implements the Gradio-based user interface.
- `integration_test.py`: Provides an end-to-end test of the system.
- `swarm_config.json`: Configuration file for defining the agent swarm.## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.