Skip to content

AutoGPT v0.5.1

Compare
Choose a tag to compare
@Pwuts Pwuts released this 26 Apr 20:15

New Features ✨

  • New OpenAI Models 🤖

    • gpt-4-turbo is now supported and set as the default SMART_LLM model.
    • Default FAST_LLM changed from gpt-3.5-turbo-16k to gpt-3.5-turbo.
    • Default EMBEDDING_MODEL changed from text-embedding-ada-002 to text-embedding-3-small.
    • Added support for gpt-4-0125-preview and gpt-4-turbo models.
  • Agent Protocol Server Enhancements 🌐

    • Made API server port configurable via AP_SERVER_PORT environment variable.
    • Added documentation for configuring the API port.
    • Implemented task cost tracking and logging in the AgentProtocolServer.
  • CLI Usability Improvements 💻

    • Added a check to ensure the specified API server port is available before running.
    • Improved handling of invalid or empty tasks provided by the user.
    • Display information on whether code execution is enabled or not on CLI startup.
  • Web Browsing Enhancements 🌐

    • Added browser extensions to handle cookie walls and ads when using Selenium.
    • Added extract_information function to extract pieces of information from webpage content based on a list of topics of interest. The read_webpage command now supports topics_of_interest and get_raw_content parameters to leverage this capability.
  • Telemetry & Error Tracking 📊

    • Integrated Sentry for telemetry and error tracking.
    • Added configuration flow and opt-in prompt for enabling telemetry.
    • Distinguish between production and dev environments based on VCS state.
    • Capture exceptions for LLM parsing errors and command failures.
  • File Storage Abstraction 📂

    • Fully abstracted file storage access with the FileStorage class.
    • Renamed FileWorkspace to FileStorage and updated associated classes and methods.
    • Updated AgentManager and AgentProtocolServer to use the new FileStorage system.
  • History Compression 📜

    • Implemented history compression to reduce token usage and increase longevity when using models with limited context windows.

Fixes 🔧

  • JSON Parsing Robustness

    • Implemented json_loads for more tolerant JSON parsing of llm responses.
    • Updated extract_dict_from_response to handle both json and JSON blocks in responses.
    • Fixed boolean value decoding issues in extract_dict_from_response.
  • Error Handling

    • Added error handling for loading non-existing agents.
    • Fixed handling of action_history related exceptions in CLI and Server modes.
    • Implemented self-correction mechanism for invalid LLM responses by appending error messages to the prompt.
  • Artifact & File Handling

    • Fixed handling of artifact modifications by setting agent_created attribute instead of registering a new Artifact.
    • Fixed read_file command in GCS and S3 workspaces.
  • Dependency Updates & Security Fixes

    • Updated aiohttp and fastapi dependencies to mitigate vulnerabilities.
    • Fixed Content-Type Header ReDoS vulnerabilities in python-multipart.
  • TTY Mode Enhancements

    • Fixed finish command behavior in TTY mode.
    • Agent now properly raises AgentTerminated exception to exit the loop.
  • Miscellaneous Fixes

    • Fixed summarize_text and QueryLanguageModel abilities to handle OpenAI API changes.
    • Improved representation of optional command parameters in prompts.
    • Fixed GCS workspace binary file upload.
    • Moved auto-gpt-plugin-template to regular dependencies to fix missing module error.

Chores & Refactoring 🧹

  • Updated agbenchmark and autogpt-forge dependencies across the project.
  • Upgraded OpenAI library to v1 and refactored code to accommodate API changes.
  • Improved logging by capturing errors raised during action execution.
  • Cleaned up unused imports and fixed linting issues across the codebase.
  • Sped up test_gcs_file_workspace by changing the fixture scope.

Pull Requests

Note: most of the changes mentioned above were made through direct commits. See also the full changelog.

  • [Documentation Update] Updating Using and Creating Abilities to use Action Annotations by @himsmittal in #6653
  • AGBenchmark: Codebase clean-up by @Pwuts in #6650
  • fix: cast port to int by @orarbel in #6643
  • Add documentation on how to use Agent Protocol in .env.template by @ntindle in #6569
  • feat(benchmark): JungleGym WebArena by @Pwuts in #6691
  • fix No modules named 'forge.sdk.abilities' and 'forge.sdk' #6537 #5810 by @kfern in #6571
  • feat(agent/web): Add browser extensions to deal with cookie walls and ads by @Pwuts in #6778
  • fix(forge): no module named 'sdk' by @MKdir98 in #6822
  • Adding support to allow for sending a message with the enter key by @zedatrix in #6378
  • Fixed revising constraints and best practices by @ThunderDrag in #6777
  • Set subprocess.PIPE on stdin and stderr and just let pytest run the currentt file when running main() by @aorwall in #5868
  • Update execute_code.py by @ehtec in #6903
  • fix(agent/execute_code): Disable code execution commands when Docker is unavailable by @kcze in #6888
  • OPEN-133: Fix trying to load non-existing agent by @kcze in #6938
  • Fixing support for AzureOpenAI by @edwardsp in #6927
  • OPEN-165: Improvement - check for duplicate command by @kcze in #6937
  • chore: Change agbenchmark to directory dependency in autogpt and forge by @Pwuts in #6946
  • Create Security Policy by @joycebrum in #6900
  • feat(agent): Abstract file storage access by @kcze in #6931
  • fix(autogpt): Fix GCS and S3 root path issue by @kcze in #7010
  • feat(autogpt/forge): Send exception details in agent protocol endpoints by @kcze in #7005
  • fix(agent): Handle action_history-related exceptions gracefully by @kcze in #6990
  • fix(autogpt/cli): Loop until non-empty task is provided by the user by @kcze in #6995
  • docs: Redirect AutoGPT users from Forge tutorial with warning by @ntindle in #7014
  • docs: replace polyfill.io by @SukkaW in #6952
  • feat(autogpt/cli): Check if port is available before running server by @kcze in #6996
  • feat(autogpt/cli): Display info if code execution is enabled by @kcze in #6997
  • feat(agent): Implement more tolerant json_loads function by @kcze in #7016
  • ci(agent): Matrix CI tests across Linux, macOS and Windows by @Pwuts in #7029
  • feat(agent): Handle OpenAI API key exceptions gracefully by @kcze in #6992
  • test(agent): Fix VCRpy request filter for cross-platform use by @Pwuts in #7040
  • ci(agent): Add macOS ARM64 to AutoGPT Python CI matrix by @Pwuts in #7041
  • security(agent): Replace unsafe pyyaml loader with SafeLoader by @matheudev in #7035
  • fix(agent): Fix check when loading an existing agent by @kcze in #7026
  • fix(agent, forge): Conform web_search.py to duckduckgo_search v5 by @kcze in #7045
  • fix(agent, forge): Conform web_search.py to duckduckgo_search v5 by @kcze in #7046
  • fix(agent): Make save_state behave like save as by @kcze in #7025
  • refactor(agent): Refactor & improve create_chat_completion by @Pwuts in #7082

New Contributors

Full Changelog: autogpt-v0.5.0...autogpt-v0.5.1