Code Monkey home page Code Monkey logo

autoagents's Introduction

AutoAgents: A Framework for Automatic Agent Generation

autoagents logo: A Framework for Automatic Agent Generation.

Generate different roles for GPTs to form a collaborative entity for complex tasks.

CN doc EN doc JA doc License: MIT

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.

The execution process of AutoAgents.

  • 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 are 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
    rumor-verification.mp4
  • Gluttonous Snake
    snake-game-demo-en.mp4

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 of config/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://<YOUR_SITE>/v1" export OPENAI_API_BASE="https://<YOUR_SITE>/v1"

Usage

  • Commandline mode:
python main.py --mode commandline --llm_api_key YOUR_OPENAI_API_KEY --serapi_key YOUR_SERAPI_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}"

Contact Information

If you have any questions or feedback about this project, please feel free to contact us. We highly appreciate your suggestions!

We will respond to all questions within 2-3 business days.

License

MIT license

Citation

If you find our work and this repository useful, please consider giving a star ⭐ and citation 🍺:

@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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.