Skip to content

AutoGPT v0.5.0

Compare
Choose a tag to compare
@Pwuts Pwuts released this 14 Dec 15:17
· 1192 commits to master since this release

First some important notes w.r.t. using the application:

  • run.sh has been renamed to autogpt.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. Running autogpt.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 with autogpt.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 a latest-dev image that always contains the latest working build from master. 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 the PromptStrategy class from autogpt.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 monolithic Config 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 the autogpt.core.configuration module, which was also expanded with a few new features for it. Most notably, the new from_env attribute on the UserConfigurable field decorator and corresponding logic in SystemConfiguration.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.

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 unbreak web_search command by @zedatrix in #6557 d820239

New Contributors 🧙🏼