Spaces:
Running
AutoAgents: A Framework for Automatic Agent Generation
Generate different roles for GPTs to form a collaborative entity for complex tasks.
AutoAgents is an experimental open-source application for an Automatic Agents Generation Experiment based on LLM. This program, driven by LLM, autonomously generates multi-agents to achieve whatever goal you set.
:boom: Updates
2023.09.31: π We're excited to share our paper AutoAgents: A Framework for Automatic Agent Generation related to this repository.
2023.08.30: π Adding a custom agent collection, AgentBank, allows you to add custom agents.
π Features
- Planner: Determines the expert roles to be added and the specific execution plan according to the problem.
- Tools: The set of tools that can be used, currently only compatible with the search tools.
- Observers: Responsible for reflecting on whether the planner and the results in the execution process are reasonable, currently including reflection checks on Agents, Plan, and Action.
- Agents: Expert role agents generated by the planner, including name, expertise, tools used, and LLM enhancement.
- Plan: The execution plan is composed of the generated expert roles, each step of the execution plan has at least one expert role agent.
- Actions: The specific actions of the expert roles in the execution plan, such as calling tools or outputting results.
Demo
Online demo:
Video demo:
- Rumor Verification
- Gluttonous Snake
Installation and Usage
Installation
git clone https://github.com/LinkSoul-AI/AutoAgents
cd AutoAgents
python setup.py install
Configuration
- Configure your
OPENAI_API_KEY
in any ofconfig/key.yaml / config/config.yaml / env
- Priority order:
config/key.yaml > config/config.yaml > env
# Copy the configuration file and make the necessary modifications.
cp config/config.yaml config/key.yaml
Variable Name | config/key.yaml | env |
---|---|---|
OPENAI_API_KEY # Replace with your own key | OPENAI_API_KEY: "sk-..." | export OPENAI_API_KEY="sk-..." |
OPENAI_API_BASE # Optional | OPENAI_API_BASE: "https:///v1" | export OPENAI_API_BASE="https:///v1" |
Usage
- Commandline mode:
python main.py --mode commandline --llm_api_key YOUR_OPENAI_API_KEY --serpapi_key YOUR_SERPAPI_KEY --idea "Is LK-99 really a room temperature superconducting material?"
- Websocket service mode:
python main.py --mode service --host "127.0.0.1" --port 9000
Docker
- Build docker image:
IMAGE="linksoul.ai/autoagents"
VERSION=1.0
docker build -f docker/Dockerfile -t "${IMAGE}:${VERSION}" .
- Start docker container:
docker run -it --rm -p 7860:7860 "${IMAGE}:${VERSION}"
- Open http://127.0.0.1:7860 in the browser.
Contact Information
If you have any questions or feedback about this project, please feel free to contact us. We highly appreciate your suggestions!
- Email: gy.chen@foxmail.com, ymshi@linksoul.ai
- GitHub Issues: For more technical inquiries, you can also create a new issue in our GitHub repository.
We will respond to all questions within 2-3 business days.
License
Citation
If you find our work and this repository useful, please consider giving a star :star: and citation :beer::
@article{chen2023auto,
title={AutoAgents: The Automatic Agents Generation Framework},
author={Chen, Guangyao and Dong, Siwei and Shu, Yu and Zhang, Ge and Jaward, Sesay and BΓΆrje, Karlsson and Fu, Jie and Shi, Yemin},
journal={arXiv preprint},
year={2023}
}
Wechat Group
Acknowledgements
The system, action_bank and role_bank of this code base is built using MetaGPT
Icons in the framework made by Darius Dan, Freepik, kmg design, Flat Icons, Vectorslab from FlatIcon