AutoGPT v0.5.0
First some important notes w.r.t. using the application:
run.sh
has been renamed toautogpt.sh
- The project has been restructured. The AutoGPT Agent is now located in
autogpts/autogpt
. - The application no longer uses a single workspace for all tasks. Instead, every task that you run the agent on creates a new workspace folder. See the usage guide for more information.
New features ✨
- Agent Protocol 🔌
Our agent now works with the Agent Protocol, a REST API that allows creating tasks and executing the agent's step-by-step process. This allows integration with other applications, and we also use it to connect to the agent through the UI. - UI 💻
With the aforementioned Agent Protocol integration comes the benefit of using our own open-source Agent UI. Easily create, use, and chat with multiple agents from one interface.
When starting the application through the project's new CLI, it runs with the new frontend by default, with benchmarking capabilities. Runningautogpt.sh serve
in the subproject folder (autogpts/autogpt
) will also serve the new frontend, but without benchmarking functionality.
Running the application the "old-fashioned" way, with the terminal interface (let's call it TTY mode), is still possible withautogpt.sh run
. - Resuming agents 🔄️
In TTY mode, the application will now save the agent's state when quitting, and allows resuming where you left off at a later time! - GCS and S3 workspace backends 📦
To further support running the application as part of a larger system, Google Cloud Storage and S3 workspace backends were added. Configuration options for this can be found in.env.template
. - Documentation Rewrite 📖
The documentation has been restructured and mostly rewritten to clarify and simplify the instructions, and also to accommodate the other subprojects that are now in the repo. - New Project CLI 🔧
The project has a new CLI to provide easier usage of all of the components that are now in the repo: different agents, frontend and benchmark. More info can be found here. - Docker dev build 🐳
In addition to the regular Docker release images (latest
,v0.5.0
in this case), we now also publish alatest-dev
image that always contains the latest working build frommaster
. This allows you to try out the latest bleeding edge version, but be aware that these builds may contain bugs!
Architecture changes & improvements 👷🏼
-
PromptStrategy
To make it easier to harness the power of LLMs and use them to fulfil tasks within the application, we adopted thePromptStrategy
class fromautogpt.core
(AKA re-arch) to encapsulate prompt generation and response parsing throughout the application. -
Config modularization
To reduce the complexity of the application's config structure, parts of the monolithicConfig
have been moved into smaller, tightly scoped config objects. Also, the logic for building the configuration from environment variables was decentralized to make it all a lot more maintainable.
This is mostly made possible by theautogpt.core.configuration
module, which was also expanded with a few new features for it. Most notably, the newfrom_env
attribute on theUserConfigurable
field decorator and corresponding logic inSystemConfiguration.from_env()
and related functions. -
Monorepo
As mentioned, the repo has been restructured to accommodate the AutoGPT Agent, Forge, AGBenchmark and the new Frontend.- AutoGPT Agent has been moved to
autogpts/autogpt
- Forge now lives in
autogpts/forge
, and the project's new CLI makes it easy to create new Forge-based agents. - AGBenchmark ->
benchmark
- Frontend ->
frontend
See also the README.
- AutoGPT Agent has been moved to
Pull Requests
Note: most of the changes mentioned above were made through direct commits. See also the full changelog.
- Sync release into master by @lc0rp in #5118
- Add files via upload by @ntindle in #5130
- Fix speak mode with elevenlabs falling into error by @dannaward in #5127
- Agent loop v2: Planning & Task Management (part 2) by @Pwuts in #5077
- fix(docker): add gcc installation in order to build psutil by @alexsoyes in #5059
- Fix elevenLabs config error by @dannaward in #5131
- Update init.py to support image_gen commands by @dmoham1476 in #5137
- Fixed stream elements speech function by @NeonN3mesis in #5146
- Restructure Repo by @merwanehamadi in #5160
- Refactor/remove abstract singleton as voice base parent by @collijk in #4931
- Add support for args to
execute_python_file
by @MauroDruwel in #3972 - read me update for monorepo by @SilenNaihin in #5199
- Change agbenchmark folder by @merwanehamadi in #5203
- Integrate benchmark and autogpt by @merwanehamadi in #5208
- Migrate AutoGPT agent to poetry by @Pwuts in #5219
- Adding Space After Colon in Console Input Prompt by @WilliamEspegren in #5211
- AutoGPT: use config and LLM provider from
core
by @Pwuts in #5286 - Rename Auto-GPT to AutoGPT by @merwanehamadi in #5301
- AutoGPT: Move all the Agent's prompt generation code into a PromptStrategy by @Pwuts in #5363
- Fixed stacking prompt instructions by @NeonN3mesis in #5520
- AutoGPT: Implement Agent Protocol by @Pwuts in #5612
- Fix typo in exceptions.py by @eltociear in #5813
- docs: fix typos in markdown files by @shresthasurav in #5871
- feat: Add support for new models and features from OpenAI's November 6 update by @Pwuts in #6147
- Improve the accuracy of the extract_dict_from_response method's JSON extraction. by @HawkClaws in #5458
- Allow port numbers to be used in local host names. e.g. localhost:8888. by @aaron13100 in #5318
- Streamline documentation for getting started by @Pwuts in #6335
- Fix docker build. Changing agbenchmark dependency as git reference instead of folder reference. by @warnyul in #6274
- refactor(agent/config): Modularize
Config
and revive Azure support by @Pwuts in #6497 - feat(agent/workspace): Add GCS and S3 FileWorkspace providers by @Pwuts in #6485
- Add dependencies required to use PostgreSQL by @ntindle in #6558
- Updating
duckduckgo-search
version to v4.0.0 to unbreakweb_search
command by @zedatrix in#6557d820239
New Contributors 🧙🏼
- @dannaward made their first contribution in #5127
- @alexsoyes made their first contribution in #5059
- @dmoham1476 made their first contribution in #5137
- @MauroDruwel made their first contribution in #3972
- @WilliamEspegren made their first contribution in #5211
- @shresthasurav made their first contribution in #5871
- @HawkClaws made their first contribution in #5458
- @aaron13100 made their first contribution in #5318
- @warnyul made their first contribution in #6274
- @zedatrix made their first contribution in
#6557d820239