|
2 years ago | |
---|---|---|
.github/workflows | 2 years ago | |
kubernetes | 2 years ago | |
swarms | 2 years ago | |
terraform | 2 years ago | |
unittesting | 2 years ago | |
.env.example | 2 years ago | |
Agora-Banner-blend.png | 2 years ago | |
DOCKERFILE | 2 years ago | |
DOCUMENTATION.md | 2 years ago | |
IDEAS.MD | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
docker-compose.yml | 2 years ago | |
dotenv.py | 2 years ago | |
example.py | 2 years ago | |
logger.py | 2 years ago | |
requirements.txt | 2 years ago | |
setup.py | 2 years ago | |
swarms.png | 2 years ago | |
worker_example.py | 2 years ago |
README.md
Agora
Swarming Language Models (Swarms)
Welcome to Swarms - the future of AI, where we leverage the power of autonomous agents to create 'swarms' of Language Models (LLM) that work together, creating a dynamic and interactive AI system.
Vision
In the world of AI and machine learning, individual models have made significant strides in understanding and generating human-like text. But imagine the possibilities when these models are no longer solitary units, but part of a cooperative and communicative swarm. This is the future we envision.
Just as a swarm of bees works together, communicating and coordinating their actions for the betterment of the hive, swarming LLM agents can work together to create richer, more nuanced outputs. By harnessing the strengths of individual agents and combining them through a swarming architecture, we can unlock a new level of performance and responsiveness in AI systems. We envision swarms of LLM agents revolutionizing fields like customer support, content creation, research, and much more.
Table of Contents
Installation
There are 2 methods, one is through git clone
and the other is by pip install swarms
. Check out the document for more information on the classes.
Method1
-
Pip install
python3 -m pip install swarms
-
Create new python file and unleash superintelligence
from swarms import boss_node
#create a task
task = boss_node.create_task(objective="Write a research paper on the impact of climate change on global agriculture")
#or
# task = boss_node.create_task('Find a video of Elon Musk and make him look like a cat')
boss_node.execute(task)
Method2
Download via Github, and install requirements
git clone https://github.com/kyegomez/swarms.git
cd swarms
pip install -r requirements.txt
Method 3
Simple example by git cloning https://github.com/kyegomez/swarms.git
python3 example.py
BossNode
The BossNode
class is a key component of Swarms. It represents a "boss" in the system that assigns tasks to other components.
Here is an example of how you can use it:
class BossNode:
def __init__(self, tools):
# initialization code goes here
def create_task(self, objective):
return {"objective": objective}
def execute_task(self, task):
# task execution code goes here
With the BossNode
class, you can create tasks for your tools to perform. For example, you can create a task to write a summary of a specific topic:
from swarms import boss_node
#create a task
task = boss_node.create_task(objective="Write a research paper on the impact of climate change on global agriculture")
#execute the teask
boss_node.execute_task(task)
This will create and execute a task to write a summary about the latest news on quantum computing. The result will be the summary of the news.
Share with your Friends
Contribute
We're always looking for contributors to help us improve and expand this project. If you're interested, please check out our Contributing Guidelines.
Thank you for being a part of our project!
Open Source Roadmap
Here is the detailed roadmap of our priorities and planned features for the near term:
TODO
-
Multi-Agent Debate Integration: Integrate multi-agent debate frameworks (Multi Agent debate and Multi agent2 debate) to improve decision-making.
-
Meta Prompting Integration: Include meta prompting across all worker agents to guide their actions.
-
Swarms Class: Create a main swarms class
swarms('Increase sales by 40$', workers=4)
for managing and coordinating multiple worker nodes. -
Integration of Additional Tools: Integrate Jarvis as worker nodes, add text to speech and text to script tools (whisper x), and integrate Hugging Face agents and other external tools.
-
Task Completion and Evaluation Logic: Include task completion logic with meta prompting, and evaluate task completion on a scale from 0.0 to 1.0.
-
Baby AGI Setup: Set up Baby AGI with the AutoGPT instance as a tool for enhanced capabilities.
-
Ocean Integration: Use the Ocean vector database as the main embedding database for all the agents, both boss and worker.
-
Improved Communication: Develop a universal vector database that is only used when a task is completed in this format
[TASK][COMPLETED]
. -
Testing and Evaluation: Create unit tests, benchmarks, and evaluations for performance monitoring and continuous improvement.
-
Worker Swarm Class: Create a class for self-scaling worker swarms. If they need help, they can spawn an entirely new worker and more workers if needed.
Documentation
-
Examples: Create extensive and useful examples for a variety of use cases.
-
README: Update the README to include the examples and usage instructions.
Optimization Priorities
-
Reliability: Increase the reliability of the swarm - obtaining the desired output with a basic and un-detailed input.
-
Speed: Reduce the time it takes for the swarm to accomplish tasks by improving the communication layer, critiquing, and self-alignment with meta prompting.
-
Scalability: Ensure that the system is asynchronous, concurrent, and self-healing to support scalability.
Our goal is to continuously improve Swarms by following this roadmap, while also being adaptable to new needs and opportunities as they arise.