Then God blessed them and said, โBe fruitful and multiply." - Genesis 1:28
ponytAIl: Polymorphic Orchestration of Networked Youthful, Adaptable Intelligence with Language. It is an node based multi-agent system targeting both LLM and BCI (in the future)
- Install ponytAIl using pip:
pip install ponytail-agents
- When you install ponytAIl, flute will also be installed simultaneously. You need to create a
.env
file in the root directory of flute and set the following API keys in it:
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
GOOGLE_API_KEY=
You must obtain these API keys from each service provider.
- The location of the flute package may vary depending on your environment setup. Here are some common ways to find it:
-
If you're using a virtual environment (venv, conda, etc.):
- Activate your virtual environment
- Run
python -c "import flute; print(flute.__file__)"
. The output will show the location of the flute package.
-
If you're using a global Python environment:
- Run
python -c "import flute; print(flute.__file__)"
. The output will show the location of the flute package.
- Run
-
If you're using an IDE or an editor (PyCharm, VS Code, etc.):
- Open your project in the IDE or an editor
- Look for the flute package in the project's virtual environment or the system's Python packages.
The ponytail-agents
command invokes the main
function with the following command-line arguments:
-f
,--file_path
(Required): Path to the input folder containing the necessary files (concluder.md
,starter.md
,node_creator.md
, and any additional nodes).-g
,--goal
(Required): Goal or objective of the task.-m
,--model
(Optional, default: "random-fast"): Name of the model to use. For available models, refer to the FLUTE repository.-r
,--result
(Optional): Additional result or output.
ponytail -f "YOUR_DIRECTORY\starter.md" -g "Define the number 1 using the mathematical collection"
ponytail -f "YOUR_DIRECTORY\starter.md" -g "Generate 5 candidate names for the self-reproducive LLM based multi-agent system. Note that the name must be abbreviated to 'PONYTAIL.'"
ponytail -f "YOUR_DIRECTORY\starter.md" -g "You are a villager. Send CREATE_NODES request by outlining other villagers, until you are satisfied with the diversity of the community. Use their names as the file names. Setup their profiles (ex. jobs, families, age, gender, etc) in a realistic and detailed manner. After, and ONLY after you are satisfied with the listed villagers, SEND_TO concluder.md to end the process."
To run ponytAIl, prepare a folder containing all the files from nodes_sample
: concluder.md
, starter.md
, and node_creator.md
.
If you want to include additional nodes from the beginning, create them following the format of medium_sample.md
.
By continuing to use the same folder after running the command once, you can nurture a node community over time. The system will build upon the existing nodes and generate new ones based on the interactions.
If you need to interrupt the process at a reasonable point, as it may take a long time, use the following key combinations:
- Windows/Linux:
Ctrl+C
- Mac:
Cmd+C
The output will be saved as full_results_YYYYMMDDHHmmss.md
in the parent folder of the starting folder.
The repository is licensed under the latest version of Modular and Inclusive Software Advancement License Classic (MISA-CLASSIC License).
There are 4 main policies that consist of this license.
- Disclaimer of Liability
- Naming Continuity Obligation
- Waiver of Other Copyrights
- Modular Extensibility (Defines how to modify the license)
See the license document for more details.