Easy-Agent is a multi-agent system designed for effortless setup and extensibility. It empowers developers to create, integrate, and manage custom agents, whether for web browsing, data processing, or reporting. With its modular architecture and API integration, Easy-Agent simplifies complex workflows while providing comprehensive logging and flexible configuration.
Easy-Agent is a cutting-edge multi-agent system designed for effortless setup and extensive customization, offering a competitive edge over similar frameworks like crewAI and Autogen. This framework is tailored for developers looking to create, integrate, and manage custom agents with maximum efficiency.
Key Features
- Modular Architecture: Flexibly add or remove agents without disrupting the system’s functionality.
- Custom Agent Support: Develop bespoke agents tailored to specific tasks, enhancing your system’s versatility.
- API Integration: Connect seamlessly with external APIs such as Google Custom Search and Groq for expanded capabilities.
- Environment Variable Management: Protect sensitive data using
.env
files for secure management of API keys. - Comprehensive Logging: Gain insights and debug the system's operation with detailed logging capabilities.
- Task Queue Management: Efficiently assign and manage tasks among agents, optimizing workflow.
- Flexible Configuration: Customize agent behavior and system settings easily through YAML configuration files.
Overview
Simplifying the deployment of multi-agent systems, Easy-Agent stands out as a robust framework that addresses diverse functionalities including web browsing, data processing, and reporting. Whether your project involves complex data interactions or simple automation tasks, Easy-Agent provides the tools required to succeed.
Example Code for Custom Agents
You can create and register new agents following a structured format. Below is an example structure for defining a new agent:
# agents/base_agent.py
import logging
class BaseAgent:
def __init__(self, name, manager, **kwargs):
self.name = name
self.manager = manager
self.logger = logging.getLogger(self.__class__.__name__)
self.logger.setLevel(logging.INFO)
if not self.logger.handlers:
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
self.logger.addHandler(ch)
def receive_task(self, task):
raise NotImplementedError("Subclasses must implement this method.")
def send_result(self, result):
self.manager.receive_result(self.name, result)
Integration made easy! Just define your agent’s functionality, register it accordingly, and customize as per project requirements. With Easy-Agent, you are well on your way to developing sophisticated multi-agent systems that are tailored to your specific use cases.