Please note that the LiteMultiAgent repository is in development mode. We have open-sourced the repository to foster collaboration between contributors.
repo owner: Danni (Danqing) Zhang ([email protected])
In our exploration of building multi-agent systems, we have investigated AutoGen, CrewAI, LangGraph, and MetaGPT, but failed to find a multi-agent system that intuitively makes multi-agent systems more efficient. We have found that most examples provided by these frameworks could be accomplished with just one agent. We reimplemented the multi-agent examples using only one agent with a set of self-defined tools. However, we then realized that this system is not scalable when we have more and more tools. But if we can categorize the agents with different sets of tools into categories, then we are building a hierarchy of agents, where we could accomplish more types of tasks. At the same time, because of this design, the execution of sub-agents is naturally parallelized by parallel function calling, since agents use sub-agents as tools.
From PyPI: https://pypi.org/project/litemultiagent/
pip install litemultiagent
Set up locally First set up virtual environment, and allow your code to be able to see 'litemultiagent'
python3 -m venv venv
. venv/bin/activate
pip install -e .
Then please create a .env file, and update your API keys:
cp .env.example .env
If you want to save log to Supabase. Set up a Supabase project and retrieve the database URL from: https://supabase.com/dashboard/project/[PROJECT_NAME]/settings/database.
The DATABASE_URL follows: postgresql://:@:/. You can get this from Project Settings -> Database -> Connection string.
Save this URL in the .env file as SUPABASE_DATABASE_URL. Then, run:
python supabase_db_setup.py
This will create the multiagent table in your database
After setting up your API keys, you can explore the examples in the examples folder:
python examples/atomic/IOAgent.py
python examples/composite/MasterAgent.py
python examples/new_tool/add_llm_generated_function_example.py
For how to contribute, see CONTRIBUTE. If you would like to contribute to the codebase, issues or pull requests are always welcome!
@misc{zhang2024litemultiagent,
title={LiteMultiAgent: The Library for LLM-based multi-agent applications},
author={Zhang, Danqing and Rama, Balaji and He, Shiying and Ni, Jingyi},
journal={https://github.com/PathOnAI/LiteMultiAgent},
year={2024}
}