Metadata-Version: 2.1 Name: autoagents Version: 0.1 Summary: The Automatic Agents Generation Framework Home-page: https://github.com/LinkSoul-AI/AutoAgents Author: Guangyao Chen Author-email: gy.chen@foxmail.com License: Apache 2.0 Keywords: autoagent multi-agent agent-generation gpt llm Requires-Python: >=3.9 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: matplotlib==3.8.0 Requires-Dist: matplotlib-inline==0.1.6 Requires-Dist: abstract_singleton==1.0.1 Requires-Dist: aiofiles==23.2.1 Requires-Dist: aiohttp==3.8.4 Requires-Dist: aiosignal==1.3.1 Requires-Dist: altair==5.1.1 Requires-Dist: anthropic==0.3.6 Requires-Dist: anyio==3.7.1 Requires-Dist: appdirs==1.4.4 Requires-Dist: asgiref==3.7.2 Requires-Dist: asttokens==2.2.1 Requires-Dist: astunparse==1.6.3 Requires-Dist: async-generator==1.10 Requires-Dist: async-timeout==4.0.2 Requires-Dist: asynctest==0.13.0 Requires-Dist: attrs==23.1.0 Requires-Dist: auto_gpt_plugin_template==0.0.3 Requires-Dist: autoflake==2.1.1 Requires-Dist: backcall==0.2.0 Requires-Dist: beautifulsoup4==4.12.2 Requires-Dist: black==23.3.0 Requires-Dist: blis==0.7.9 Requires-Dist: cachetools==5.3.0 Requires-Dist: camel-converter==3.0.2 Requires-Dist: catalogue==2.0.8 Requires-Dist: certifi==2023.7.22 Requires-Dist: cffi==1.15.1 Requires-Dist: cfgv==3.3.1 Requires-Dist: channels==4.0.0 Requires-Dist: chardet==5.1.0 Requires-Dist: charset-normalizer==3.1.0 Requires-Dist: click==8.1.3 Requires-Dist: colorama==0.4.6 Requires-Dist: common==0.1.2 Requires-Dist: confection==0.0.4 Requires-Dist: contourpy==1.1.1 Requires-Dist: coverage==7.2.5 Requires-Dist: cryptography==40.0.2 Requires-Dist: cssselect==1.2.0 Requires-Dist: cycler==0.11.0 Requires-Dist: cymem==2.0.7 Requires-Dist: dataclasses-json==0.5.7 Requires-Dist: decorator==5.1.1 Requires-Dist: diskcache==5.6.1 Requires-Dist: distlib==0.3.6 Requires-Dist: distro==1.8.0 Requires-Dist: Django==4.2.3 Requires-Dist: dnspython==2.3.0 Requires-Dist: docker==6.1.2 Requires-Dist: docker-pycreds==0.4.0 Requires-Dist: duckduckgo-search==2.9.4 Requires-Dist: et-xmlfile==1.1.0 Requires-Dist: exceptiongroup==1.1.1 Requires-Dist: execnet==1.9.0 Requires-Dist: executing==1.2.0 Requires-Dist: faiss-cpu==1.7.4 Requires-Dist: fastapi==0.103.1 Requires-Dist: ffmpy==0.3.1 Requires-Dist: filelock==3.12.0 Requires-Dist: fire==0.4.0 Requires-Dist: flake8==6.0.0 Requires-Dist: fonttools==4.42.1 Requires-Dist: frozenlist==1.3.3 Requires-Dist: fsspec==2023.9.2 Requires-Dist: ghp-import==2.1.0 Requires-Dist: gitdb==4.0.10 Requires-Dist: GitPython==3.1.31 Requires-Dist: google-api-core==2.11.0 Requires-Dist: google-api-python-client==2.86.0 Requires-Dist: google-auth==2.18.0 Requires-Dist: google-auth-httplib2==0.1.0 Requires-Dist: google-search-results==2.4.2 Requires-Dist: googleapis-common-protos==1.59.0 Requires-Dist: gradio==3.44.4 Requires-Dist: gradio_client==0.5.1 Requires-Dist: greenlet==2.0.2 Requires-Dist: gTTS==2.3.1 Requires-Dist: h11==0.14.0 Requires-Dist: httpcore==0.17.0 Requires-Dist: httplib2==0.22.0 Requires-Dist: httpx==0.24.0 Requires-Dist: huggingface-hub==0.17.2 Requires-Dist: icecream==2.1.3 Requires-Dist: identify==2.5.24 Requires-Dist: idna==3.4 Requires-Dist: importlib-metadata==6.8.0 Requires-Dist: importlib-resources==6.1.0 Requires-Dist: iniconfig==2.0.0 Requires-Dist: ipdb==0.13.13 Requires-Dist: ipython==8.14.0 Requires-Dist: iso-639==0.4.5 Requires-Dist: isort==5.12.0 Requires-Dist: jedi==0.18.2 Requires-Dist: Jinja2==3.1.2 Requires-Dist: joblib==1.3.2 Requires-Dist: jsonschema==4.17.3 Requires-Dist: kiwisolver==1.4.5 Requires-Dist: langchain==0.0.231 Requires-Dist: langchainplus-sdk==0.0.20 Requires-Dist: langcodes==3.3.0 Requires-Dist: langsmith==0.0.33 Requires-Dist: litellm==0.7.5 Requires-Dist: loguru==0.6.0 Requires-Dist: lxml==4.9.2 Requires-Dist: Markdown==3.3.7 Requires-Dist: MarkupSafe==2.1.2 Requires-Dist: marshmallow==3.19.0 Requires-Dist: marshmallow-enum==1.5.1 Requires-Dist: mccabe==0.7.0 Requires-Dist: meilisearch==0.21.0 Requires-Dist: mergedeep==1.3.4 Requires-Dist: mkdocs==1.4.3 Requires-Dist: mkl-service==2.4.0 Requires-Dist: multidict==6.0.4 Requires-Dist: murmurhash==1.0.9 Requires-Dist: mypy-extensions==1.0.0 Requires-Dist: nltk==3.8.1 Requires-Dist: nodeenv==1.8.0 Requires-Dist: numexpr==2.8.4 Requires-Dist: numpy==1.25.2 Requires-Dist: oauthlib==3.2.2 Requires-Dist: openai==0.27.2 Requires-Dist: openapi-python-client==0.13.4 Requires-Dist: openapi-schema-pydantic==1.2.4 Requires-Dist: opencv-python==4.8.0.76 Requires-Dist: openpyxl==3.2.0b1 Requires-Dist: orjson==3.8.10 Requires-Dist: outcome==1.2.0 Requires-Dist: packaging==23.1 Requires-Dist: pandas==1.4.1 Requires-Dist: parso==0.8.3 Requires-Dist: pathspec==0.11.1 Requires-Dist: pathtools==0.1.2 Requires-Dist: pathy==0.10.1 Requires-Dist: pexpect==4.8.0 Requires-Dist: pickleshare==0.7.5 Requires-Dist: Pillow==9.5.0 Requires-Dist: pinecone-client==2.2.1 Requires-Dist: pip==23.0.1 Requires-Dist: platformdirs==3.5.1 Requires-Dist: playsound==1.2.2 Requires-Dist: pluggy==1.0.0 Requires-Dist: pre-commit==3.3.1 Requires-Dist: preshed==3.0.8 Requires-Dist: promise==2.3 Requires-Dist: prompt-toolkit==3.0.38 Requires-Dist: protobuf==3.20.3 Requires-Dist: psutil==5.9.5 Requires-Dist: ptyprocess==0.7.0 Requires-Dist: pure-eval==0.2.2 Requires-Dist: py-cpuinfo==9.0.0 Requires-Dist: py3langid==0.2.2 Requires-Dist: pyasn1==0.5.0 Requires-Dist: pyasn1-modules==0.3.0 Requires-Dist: pycodestyle==2.10.0 Requires-Dist: pycparser==2.21 Requires-Dist: pydantic==1.10.7 Requires-Dist: pydub==0.25.1 Requires-Dist: pyflakes==3.0.1 Requires-Dist: Pygments==2.15.1 Requires-Dist: pymdown-extensions==10.0.1 Requires-Dist: pyOpenSSL==23.1.1 Requires-Dist: pyparsing==3.0.9 Requires-Dist: pyrsistent==0.19.3 Requires-Dist: PySocks==1.7.1 Requires-Dist: pytest==7.2.2 Requires-Dist: pytest-asyncio==0.21.0 Requires-Dist: pytest-benchmark==4.0.0 Requires-Dist: pytest-cov==4.0.0 Requires-Dist: pytest-integration==0.2.3 Requires-Dist: pytest-mock==3.10.0 Requires-Dist: pytest-recording==0.12.2 Requires-Dist: pytest-xdist==3.3.0 Requires-Dist: python-dateutil==2.8.2 Requires-Dist: python-docx==0.8.11 Requires-Dist: python-dotenv==1.0.0 Requires-Dist: python-multipart==0.0.6 Requires-Dist: pytz==2023.3 Requires-Dist: PyYAML==6.0 Requires-Dist: pyyaml_env_tag==0.1 Requires-Dist: readability-lxml==0.8.1 Requires-Dist: redis==4.5.5 Requires-Dist: regex==2023.5.5 Requires-Dist: requests==2.30.0 Requires-Dist: requests-oauthlib==1.3.1 Requires-Dist: rsa==4.9 Requires-Dist: scikit-learn==1.3.0 Requires-Dist: scipy==1.11.1 Requires-Dist: selenium==4.1.4 Requires-Dist: semantic-version==2.10.0 Requires-Dist: sentry-sdk==1.31.0 Requires-Dist: setproctitle==1.3.2 Requires-Dist: setuptools==65.6.3 Requires-Dist: shellingham==1.5.0.post1 Requires-Dist: shortuuid==1.0.11 Requires-Dist: six==1.16.0 Requires-Dist: smart-open==6.3.0 Requires-Dist: smmap==5.0.0 Requires-Dist: sniffio==1.3.0 Requires-Dist: socksio==1.0.0 Requires-Dist: sortedcontainers==2.4.0 Requires-Dist: soupsieve==2.4.1 Requires-Dist: spacy==3.5.3 Requires-Dist: spacy-legacy==3.0.12 Requires-Dist: spacy-loggers==1.0.4 Requires-Dist: SQLAlchemy==2.0.15 Requires-Dist: sqlparse==0.4.4 Requires-Dist: srsly==2.4.6 Requires-Dist: stack-data==0.6.2 Requires-Dist: starlette==0.27.0 Requires-Dist: tenacity==8.2.2 Requires-Dist: termcolor==2.3.0 Requires-Dist: thinc==8.1.10 Requires-Dist: threadpoolctl==2.2.0 Requires-Dist: tiktoken==0.5.1 Requires-Dist: tokenizers==0.13.3 Requires-Dist: tomli==2.0.1 Requires-Dist: toolz==0.12.0 Requires-Dist: tqdm==4.64.1 Requires-Dist: traitlets==5.9.0 Requires-Dist: trio==0.22.0 Requires-Dist: trio-websocket==0.10.2 Requires-Dist: tweepy==4.14.0 Requires-Dist: typer==0.7.0 Requires-Dist: typing_extensions==4.5.0 Requires-Dist: typing-inspect==0.8.0 Requires-Dist: uritemplate==4.1.1 Requires-Dist: urllib3==1.26.15 Requires-Dist: urllib3-secure-extra==0.1.0 Requires-Dist: uvicorn==0.23.2 Requires-Dist: vcrpy==4.2.1 Requires-Dist: virtualenv==20.23.0 Requires-Dist: wandb==0.13.2 Requires-Dist: wasabi==1.1.1 Requires-Dist: watchdog==3.0.0 Requires-Dist: wcwidth==0.2.6 Requires-Dist: webdriver-manager==3.8.6 Requires-Dist: websocket-client==1.5.1 Requires-Dist: websockets==11.0.3 Requires-Dist: wheel==0.38.4 Requires-Dist: wrapt==1.15.0 Requires-Dist: wsproto==1.2.0 Requires-Dist: yarl==1.9.2 Requires-Dist: zipp==3.17.0 # 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](https://arxiv.org/abs/2309.17288) 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: - [Demo / HuggingFace Spaces](https://huggingface.co/spaces/LinkSoul/AutoAgents) Video demo: - **Rumor Verification** - **Gluttonous Snake** ## Installation and Usage ### Installation ```bash 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` ```bash # 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://