Releases: Significant-Gravitas/AutoGPT
Auto-GPT v0.4.5
This maintenance release includes under-the-hood improvements and bug fixes, such as more accurate token counts for OpenAI functions, faster CI builds, improved plugin handling, and refactoring of the Config class for better maintainability.
Release Highlights 🌟
We have released some documentation updates, including:
How to share system logs
- Visit docs/share-your-logs.md to learn how to how to share logs with us via a log analysis tool graciously contributed by E2B.
Auto-GPT re-architecture documentation
- You can learn more about the inner-workings of the Auto-GPT re-architecture released in 0.4.4, via these links:
New Contributors & Notable Catalysts 🦾
- @antonovmaxim made their first contribution in #4946
- @mlejva made their first contribution in #4965
- @GECORegulatory made their first contribution in #4972
What's Changed 📜
- Organize the configuration args by @collijk in #4913
- Drop AbstractSingleton as a parent class of the vector memory by @collijk in #4901
- Remove dead agent manager by @collijk in #4900
- Fix test_browse_website by @Pwuts in #4925
- Rebase
MessageHistory
onChatSequence
by @Pwuts in #4922 - Fix type of
Config.plugins
asAutoGPTPluginTemplate
by @Pwuts in #4924 - Restructure logs.py into a module; include log_cycle by @Pwuts in #4921
- Improve token counting; account for functions by @Pwuts in #4919
- Move path argument sanitization for commands to a decorator by @Pwuts in #4918
- Speed up CI by @Pwuts in #4930
- Sync release v0.4.4 +
stable
back intomaster
by @Pwuts in #4947 - Disable proxy for internal pull requests by @Pwuts in #4953
- Add links to github issues in the README and clarify run instructions by @collijk in #4954
- Documentation/collate rearch notes by @collijk in #4958
- Refactor/move functions in app to agent by @collijk in #4957
- Refactor/rename agent subpackage to agents by @collijk in #4961
- Allow absolute paths when not restricting to workspace root by @antonovmaxim in #4946
- Add initial share logs page by @mlejva in #4965
- Replaced Fictitious color name Fore.ORANGE by @GECORegulatory in #4972
- Fix loading the plugins config by @Pwuts in #5000
Full Changelog: v0.4.4...v0.4.5
Auto-GPT v0.4.4
Auto-GPT v0.4.4 is dedicated to the core re-arch tram, led by @collijk.
Release Highlights 🌟
This release is noteworthy for two reasons.
Auto-GPT-4
Firstly, it comes hot on the heels of OpenAI's GA release of GPT-4. Auto-GPT users have eagerly awaited the opportunity to unlock more power via a GPT-4 model pairing. In v0.4.4, the SMART_LLM (formerly SMART_LLM_MODEL) defaults to GPT-4 once again, and we have implemented adjustments to ensure the correct usage of SMART_LLM and FAST_LLM (formerly FAST_LLM_MODEL) throughout the code-base. The smarter option is used consistently for areas requiring state-of-the-art accuracy, such as agent command selection. At the same time, the faster LLM assists with tasks that even the speedier GPT-3.5-turbo excels at, like summarization.
Note: GPT-4 is costlier, so please review your SMART_* and FAST_* settings. You can also use --gpt3only and --gpt4only command line flags to adjust your model preferences at runtime.
Autogpt/core
The second reason, and the reason for the dedication at the beginning of these release notes, is equally exciting. The much-anticipated re-arch is now available! The team, led by @collijk, has worked tirelessly over the past few months to put the "Auto" back in Auto-GPT, nearly doubling the code available in the master branch. The autogpt/core
folder contains the work from the re-arch project, which is now systematically making its way to the rest of the application, starting with the Configuration modules. Watch for improvements over the next few weeks. There is still much to do, so if you wish to assist, please check out this issue.
New Contributors & Notable Catalysts 🦾
- @uta0x89 made their first contribution in #4789
- @lukas-eu made their first contribution in #4810
- @u007 made their first contribution in #4876
- @NeonN3mesis made their first contribution in #4855
- @kerta1n made their first contribution in #4471
- @scottschluer made their first contribution in #3774
- @jayden5744 made their first contribution in #4875
- @zachRadack made their first contribution in #4902
- @IANTHEREAL made their first contribution in #4098
- @VenkatTeja made their first contribution in #4863
What's Changed 📜
Besides the highlights above, this release cleans up longstanding Azure configuration rough edges, fixes plugin incompatibilities and plugs security. Read on for a detailed list of changes.
- Retry ServiceUnavailableError by @uta0x89 in #4789
- Use Configuration of rearch by @merwanehamadi in #4803
- Filtering out ANSI escape codes in printed assistant thoughts by @lukas-eu in #4810
- Sync
stable
version v0.4.3 back tomaster
by @lc0rp in #4828 - Add fallback token limit in llm.utils.create_chat_completion by @lc0rp in #4839
- Fix Config type hint problems caused by #4803 by @Pwuts in #4840
- fix for #4813 by @u007 in #4876
- Update CODEOWNERS by @ntindle in #4884
- Hotfix - call model_post_init explicitly until pydantic 2.0 by @lc0rp in #4858
- Simplified plugin log messages by @lc0rp in #4870
- Re-arch hello world by @collijk in #3969
- Update OpenAI model ID mappings by @Pwuts in #4889
- Fix plugin loading issues by @Pwuts in #4888
- Fix errors in Mandatory Tasks of Benchmarks by @uta0x89 in #4893
- New Challenge test_information_retrieval_challenge_c by @NeonN3mesis in #4855
- Update Wiki to reflect changes with
docker-compose
by @kerta1n in #4471 - Utilize environment variables for all agent key bindings by @scottschluer in #3774
- Fix potential passing of NoneType to remove_ansi_escape by @u007 in #4882
- Fix Azure OpenAI setup problems by @jayden5744 in #4875
- Use GPT-4 in Agent loop by default by @Pwuts in #4899
- Add CLI args for
ai_name
,ai_role
, andai_goals
by @rocks6 in #3250 - Bugfix fixtts by @zachRadack in #4902
- Fix the incompatibility bug of azure deployment id configuration with gpt4/3-only by @IANTHEREAL in #4098
- Pull master into Release v0.4.4 by @lc0rp in #4903
- Fix PLAIN_OUTPUT for normal execution by @Pwuts in #4904
- Bug Fix: summarize_text function usage by @VenkatTeja in #4863
- Sync
stable
intorelease-v0.4.4
(#4876) by @Pwuts in #4907 - Document function get_memory in autogpt.memory.vector by @sagarishere in #1296
- Bugfix/broken azure config by @collijk in #4912
- Fix bugs running the core cli-app by @collijk in #4905
- Improve command system; add aliases for commands by @lengweiping1983 and @Pwuts in #2635
- Syncing bugfixes and newer commits from master to release-v0.4.4 by @lc0rp in #4914
- Fix regression where we lost the api base and organization by @collijk in #4933
Full Changelog: v0.4.3...v0.4.4
Auto-GPT v0.4.3
We're excited to present the 0.4.3 maintenance release of Auto-GPT! This update primarily focuses on refining the LLM command execution, extending support for OpenAI's latest models (including the powerful GPT-3 16k model), and laying the groundwork for future compatibility with OpenAI's innovative function calling feature.
Release Highlights 🌟
- OpenAI API Key Prompt: Auto-GPT will now courteously prompt users for their OpenAI API key, if it's not already provided.
- Summarization Enhancements: We've optimized Auto-GPT's use of the LLM context window even further, boosting the effectiveness of summarization tasks.
- JSON Memory Reading: Support for reading memories from JSON files has been improved, resulting in enhanced task execution.
- New "replace_in_file" Command: This nifty new feature allows Auto-GPT to modify files without loading them entirely.
- Enhanced Token Counting: We've refined our token counting system to provide more precise cost estimates.
Deprecated Commands ❌
As part of our ongoing commitment to refining Auto-GPT, the following commands, which we determined to be either better suited as plugins or redundant, have been retired from the core application:
- analyze_code
- write_tests
- improve_code
- audio_text
- web_playwright
- web_requests
Progress Update on Re-Architecting 🚧
As you may recall, we recently embarked on a significant re-architecting journey to future-proof the Auto-GPT project. We're thrilled to report that elements of this massive overhaul are now being integrated back into the core application. For instance, you may notice less reliance on global state being passed around via singletons.
Stay tuned for further updates and advancements in our future releases! Head over to the discussion forums or discord to share your feedback on this release, and we appreciate your continued support.
New Contributors & Notable Catalysts 🦾
- @DrMurx made their first contribution in #2821
- @BorntraegerMarc made their first contribution in #1569
- @javableu made their first contribution in #4167
- @scenaristeur made their first contribution in #4561
- @Qoyyuum made their first contribution in #2486
What's Changed 📜
- Add
replace_in_file
command to change occurrences of text in a file by @bfalans in #4565 - Update OpenAI model info and remove duplicate modelsinfo.py by @Pwuts in #4700
- Implement loading
MemoryItem
s from file inJSONFileMemory
by @Pwuts in #4703 - Count tokens with tiktoken by @merwanehamadi in #4704
- Refactor module layout of command classes by @erik-megarad in #4706
- Remove analyze code by @merwanehamadi in #4705
- Remove write_tests and improve_code by @merwanehamadi in #4707
- Remove app commands, audio text and playwright by @merwanehamadi in #4711
- Improve plugin backward compatibility by @lc0rp in #4716
- Fix summarization happening in first cycle by @merwanehamadi in #4719
- Bulletin.md update for 0.4.1 release by @lc0rp in #4721
- Use JSON format for commands signature by @merwanehamadi in #4714
- Fix execute_command coming from plugins in 0.4.1 by @erik-megarad in #4730
- Fix execute_command coming from plugins by @erik-megarad in #4729
- Pass config everywhere in order to get rid of singleton by @merwanehamadi in #4666
- Remove config from command decorator by @merwanehamadi in #4736
- Fix issues with execute_python_code responses by @erik-megarad in #4738
- Retry 503 OpenAI errors by @merwanehamadi in #4745
- Sync release v0.4.1 back into master by @lc0rp in #4741
- Merge Release v0.4.2 back to master by @merwanehamadi in #4747
- Remove config singleton by @merwanehamadi in #4737
- Make JSON errors more silent by @merwanehamadi in #4748
- Fix up Python execution commands by @Wladastic in #4756
- OpenAI Functions Support by @erik-megarad in #4683
- Create run_task python hook to interface with benchmarks by @merwanehamadi in #4778
- ❇️ Improved OpenAI API Key Insert to Env by @Qoyyuum in #2486
- Link all challenges to benchmark python hook by @merwanehamadi in #4786
- Prevent docker-compose.yml and Dockerfile from being written by @erik-megarad in #4761
- Only take subclasses of AutoGPTPluginTemplate as plugins by @ppetermann in #4345
- Filtering out ANSI escape codes in printed assistant thoughts by @lc0rp in #4812
- Unregister commands incompatible with current config. by @lc0rp in #4815
- Bulletin.md updates and version toggling by @lc0rp in #4816
- Release v0.4.3 by @lc0rp in #4802
Full Changelog: v0.4.2...v0.4.3
Auto-GPT v0.4.3-alpha
We're excited to present the 0.4.3 maintenance release of Auto-GPT! This update primarily focuses on refining the LLM command execution, extending support for OpenAI's latest models (including the powerful GPT-3 16k model), and laying the groundwork for future compatibility with OpenAI's innovative function calling feature.
Release Highlights 🌟
- OpenAI API Key Prompt: Auto-GPT will now courteously prompt users for their OpenAI API key, if it's not already provided.
- Summarization Enhancements: We've optimized Auto-GPT's use of the LLM context window even further, boosting the effectiveness of summarization tasks.
- JSON Memory Reading: Support for reading memories from JSON files has been improved, resulting in enhanced task execution.
- New "replace_in_file" Command: This nifty new feature allows Auto-GPT to modify files without loading them entirely.
- Enhanced Token Counting: We've refined our token counting system to provide more precise cost estimates.
Deprecated Commands ❌
As part of our ongoing commitment to refining Auto-GPT, the following commands, which we determined to be either better suited as plugins or redundant, have been retired from the core application:
- analyze_code
- write_tests
- improve_code
- audio_text
- web_playwright
- web_requests
Progress Update on Re-Architecting 🚧
As you may recall, we recently embarked on a significant re-architecting journey to future-proof the Auto-GPT project. We're thrilled to report that elements of this massive overhaul are now being integrated back into the core application. For instance, you may notice less reliance on global state being passed around via singletons.
Stay tuned for further updates and advancements in our future releases! Head over to the discussion forums or discord to share your feedback on this release, and we appreciate your continued support.
New Contributors & Notable Catalysts 🦾
- @DrMurx made their first contribution in #2821
- @BorntraegerMarc made their first contribution in #1569
- @javableu made their first contribution in #4167
- @scenaristeur made their first contribution in #4561
- @Qoyyuum made their first contribution in #2486
What's Changed 📜
- Add
replace_in_file
command to change occurrences of text in a file by @bfalans in #4565 - Update OpenAI model info and remove duplicate modelsinfo.py by @Pwuts in #4700
- Implement loading
MemoryItem
s from file inJSONFileMemory
by @Pwuts in #4703 - Count tokens with tiktoken by @merwanehamadi in #4704
- Refactor module layout of command classes by @erik-megarad in #4706
- Remove analyze code by @merwanehamadi in #4705
- Remove write_tests and improve_code by @merwanehamadi in #4707
- Remove app commands, audio text and playwright by @merwanehamadi in #4711
- Fix summarization happening in first cycle by @merwanehamadi in #4719
- Bulletin.md update for 0.4.1 release by @lc0rp in #4721
- Use JSON format for commands signature by @merwanehamadi in #4714
- Fix execute_command coming from plugins in 0.4.1 by @erik-megarad in #4730
- Fix execute_command coming from plugins by @erik-megarad in #4729
- Pass config everywhere in order to get rid of singleton by @merwanehamadi in #4666
- Remove config from command decorator by @merwanehamadi in #4736
- Fix issues with execute_python_code responses by @erik-megarad in #4738
- Retry 503 OpenAI errors by @merwanehamadi in #4745
- Sync release v0.4.1 back into master by @lc0rp in #4741
- Merge Release v0.4.2 back to master by @merwanehamadi in #4747
- Remove config singleton by @merwanehamadi in #4737
- Make JSON errors more silent by @merwanehamadi in #4748
- Fix up Python execution commands by @Wladastic in #4756
- OpenAI Functions Support by @erik-megarad in #4683
- Create run_task python hook to interface with benchmarks by @merwanehamadi in #4778
- ❇️ Improved OpenAI API Key Insert to Env by @Qoyyuum in #2486
- Link all challenges to benchmark python hook by @merwanehamadi in #4786
- Prevent docker-compose.yml and Dockerfile from being written by @erik-megarad in #4761
- Only take subclasses of AutoGPTPluginTemplate as plugins by @ppetermann in #4345
Full Changelog: v0.4.2...v0.4.3-alpha
Auto-GPT v0.4.2 (hotfix)
The 503 error has been more frequent the past hours so we added a hotfix to retry the call if this error is returned, otherwise Auto-GPT stops.
Auto-GPT v0.4.1
This release focuses on improving command reliability and fixing bugs from version 0.4.0. Some internal changes have been made that pave the way for the highly anticipated 0.5.0 major release.
As usual, this release cannot have happened without Auto-GPT's ever-enthusiastic community. Hop over to the discussion boards to discuss this release and more.
This time round, we're highlighting "New Contributors" before the longer changelog details, and including testers, PR-reviewers and other active community members. We may keep this new format in future releases.
Highlights ✨
- Directory-based plugins! - Great news! Plugins no longer have to be compressed into zip files. Simply placing a plugin in a subfolder or repository clone within the plugins directory will now allow it to be recognized and loaded.
- Keyboard navigation! - People who are "less mouse, more keyboard" will love this.
- JSON fixes - Several prompts and JSON problems have been resolved, leading to a more dependable selection and execution of commands.
- More dependable search - Internet searching is now more reliable and less prone to errors thanks to Auto-GPT's improved ability to detect duckduckgo rate limits. The tool now automatically retries searches when these limits are reached.
- Better read_file - Building on the expansion of the read_file command in version 0.4.0, further improvements have been made to Auto-GPT's reading and writing of files.
- More reliable Python code execution - Similarly, Auto-GPT should choke less when creating or executing Python code, and now has the ability to do so within a Docker install
- To round up the highlights, the configuration of allowed/denied shell commands has been simplified and made less confusing, and batch summarization of LLM message history should address some identified crashes caused by the summarization process.
New Contributors & Notable Catalysts
- @DrMurx made their first contribution in #2821
- @BorntraegerMarc made their first contribution in #1569
- @javableu made their first contribution in #4167
- @scenaristeur made their first contribution in #4561
- @ShrekTwo (Discord) - Release testing
- @Boostrix - PR Triaging, code contributions, release testing
- @Wladastic - PR Triaging, code contributions, release testing
Changelog
- Cache Python Packages in the CI pipeline by @merwanehamadi in #4488
- Skip flaky challenges by @merwanehamadi in #4573
- Add
replace_in_file
command to change occurrences of text in a file by @bfalans in #4565 - Sync release v0.4.0 back into
master
by @Pwuts in #4585 - Fix "update cassettes" step by @merwanehamadi in #4591
- Rearrange tests & fix CI by @Pwuts in #4596
- Fix inverted logic for deny_command by @erik-megarad in #4563
- Update cassette submodule by @merwanehamadi in #4601
- Fix duckduckgo rate limiting by @merwanehamadi in #4592
- Increase thresholds for PR autolabeler by @Pwuts in #4602
- Fix issues with file reading and writing with Python code by @erik-megarad in #4567
- Dockerfile: reduce layer bloat by @DrMurx in #2821
- Update .gitignore by @Androbin in #882
- feat: log new-line so user can differentiate sections better in console by @BorntraegerMarc in #1569
- Update .gitignore by @ntindle in #4610
- Feat set token limits based on model by @BaseInfinity in #4498
- Set proxy headers as secrets by @merwanehamadi in #4620
- Inform users that challenges can be flaky by @merwanehamadi in #4616
- Make challenge "write file" harder + add level 2 by @merwanehamadi in #4481
- Fix "debug code" challenge by @merwanehamadi in #4632
- Decrement information retrieval challenge a so that it doesn't break the CI by @merwanehamadi in #4637
- Add command for directly executing python code by @erik-megarad in #4581
- Fix issues with information retrieval challenge a by @erik-megarad in #4622
- Streamline / clarify shell command control configuration by @erik-megarad in #4628
- False believes challenge based on sally anne test. by @javableu in #4167
- Quicker logs in pytest by @merwanehamadi in #4486
- Clean up and fix issues with env configuration and .env.template by @erik-megarad in #4630
- Fix prompt issue causing 'No Command' issues and challenge b to fail by @erik-megarad in #4623
- Decrement memory challenge c by @merwanehamadi in #4639
- Add settings for custom base url by @DGdev91 in #2594
- Implement directory-based plugin system by @erik-megarad in #4548
- Add config as attribute to Agent, rename old config to ai_config by @erik-megarad in #4638
- Upload logs as artifact by @merwanehamadi in #4640
- Create benchmarks that will run Regression Tests and unbeaten challenges by @merwanehamadi in #4647
- Pass agent to commands instead of config by @erik-megarad in #4645
- Retry regression tests by @merwanehamadi in #4648
- Fix benchmark logs by @merwanehamadi in #4653
- Implement Batch Summarization in MessageHistory Class to manage context length under model's token limit by @kinance in #4652
- Use prompt_toolkit to enable keyboard navigation in CLI by @erik-megarad in #4649
- Change memory challenge c expectations by @merwanehamadi in #4657
- Update setup.md fix typo by @digger-yu in #4613
- make run.sh more compatible by @scenaristeur in #4561
- Add basic Netlify config by @Pwuts in #4662
- Remove extra spaces in summarization prompt by @kinance in #4660
- Remove unused function
split_file
from file_operations.py by @Pwuts in #4658 - Add challenge identifiers to pytest by @merwanehamadi in #4661
- Strip spaces from the end of truncated ai_name in log_cycle.py by @Pwuts in #4672
- Incorporating current summary length in token count calculation for the update_running_summary function by @kinance in #4670
- Correct and clean up JSON handling by @erik-megarad in #4655
- Make Benchmarks write cassettes without using them by @merwanehamadi in #4664
- Fix autogpt docker image not working because missing prompt_settings by @merwanehamadi in #4680
- Rework plugin config to be file-based by @erik-megarad in #4673
- Extract openai API calls and retry at lowest level by @collijk in #3696
Full Changelog: v0.4.0...v0.4.1
Auto-GPT v0.4.0
TL;DR: Users will only see a small part of the improvements made in this release. Most of the improvements were made "under the hood", where developers will see cleaner source code that is becoming increasingly easier to work with.
Highlights ✨
Highlights and notable changes since v0.3.0:
⚠️ Command send_tweet
is REMOVED
Twitter functionality (and more) is now covered by plugins.
⚠️ Memory backend deprecation 💾
The Milvus, Pinecone and Weaviate memory backends were rendered incompatible by work on the memory system, and have been removed. The Redis memory store was also temporarily removed; we will merge a new implementation ASAP.
Whether built-in support for the others will be added back in the future is subject to discussion, feel free to pitch in: #4280
❇️ Document support in read_file
📄
Auto-GPT can now read text from document files, with support added for PDF, doc, docx, CSV, HTML, TeX and more!
❇️ Managing Auto-GPT's access to commands ❌🔧
You can now disable set of built-in commands through the DISABLED_COMMAND_CATEGORIES
variable in .env. Specific shell commands can also be disabled using DENY_COMMANDS
, or selectively enabled using ALLOW_COMMANDS
.
The state of Auto-GPT 🔍
We are working on re-architecting large parts of the codebase to make development easier in the long term and future-proof the project. This re-architecture is a big task and will take a while, so in the meantime, we continue merging pull requests into master
(our main development branch) and integrating contributions that help the project's overall objectives, including re-arch.
The overarching vision of the re-arch is to re-imagine Auto-GPT as a component-based framework geared towards facilitating exploration of AI agents. If the internals are not clean, progress suffers.
This vision breaks down into specific goals:
- Component-based architecture with clean interfaces (to achieve separability, modularity)
- State-contained agent (to allow for efficient exploration of the agent run-loop)
- This requires removing global state
In this release... 🏗️
In this release, we make two major re-architecture steps:
-
Memory System Revamp
We have revised the vector memory storage system (#4208), laying a foundation to implement so-called "retrieval augmentation" that enhances the long-term performance of Auto-GPT.
For the time being we have removed support for all memory providers except for local (json_file
) memory. This stop-gap measure simplifies/expedites development. A Redis memory provider implementation is in the pipeline, we're waiting on the redis-om-python team to merge a fix.
Work on the memory system is tracked here: #3536 -
Removal of global configuration object
In this version, we've removed the global configuration object. Instead configuration is passed into components as required. Further work is ongoing to remove these 'singletons'.
Other Highlights
- Added possibility to interrupt continuous runs
- Updated Google/DuckDuckGo search internals
- Continued work on challenges
- Continued work on CI pipelines to speed them up without degrading DX
- Improved test coverage
- Updated documentation
Changelog 📃
- Sync
stable
intomaster
after v0.3.1 release by @richbeales in #4203 - Update prompt.py to clarify how to call commands by @richbeales in #4027
- Fix commands with same name overwriting by @k-boikov in #4226
- Fixed error in safe_google_results, added tests by @k-boikov in #3606
- Improve error message by providing the name of the env file by @Boostrix in #3964
- Show workspace during startup / fix for #2793 by @Boostrix in #4082
- Refactor challenges to use cycle count instead of time by @merwanehamadi in #4222
- Added feature to interrupt y -N continuous commands. by @gravelBridge in #4230
- fix ci cassettes by @merwanehamadi in #4234
- Fix ai_name not passed to Agent by @tmalahie in #3948
- Legal warning on continuous run by @ntindle in #4239
- Clarify .env.template image-provider options by @cwenner in #3720
- fix: allow absolute paths if contained in workspace by @BaseInfinity in #3932
- Huggingface retry generate_image with delay by @primaryobjects in #2745
- Adds check for Python 3.10 and print error message if required version not detected. by @amokduke in #3598
- Update README.md - make stable branch less shouty by @richbeales in #3702
- CI Pipeline: create cassettes in fork by @merwanehamadi in #4257
- encourage people to use a separate user account w/o VM/docker by @Boostrix in #3961
- Added custom_search_engine_id as mandatory for official google search by @k-boikov in #4228
- mention docker rebuild is necessary if changing requirements.txt by @Boostrix in #4136
- Update PULL_REQUEST_TEMPLATE.md to include linting by @richbeales in #3625
- Implement Logging of Self-Feedback in logs/Debug Folder by @AndresCdo in #3868
- Add $ to timestamp in ci.yml and improve diff by @merwanehamadi in #4266
- Make prompt parameters configurable by @DGdev91 in #3375
- Logs output to console if we're not on speak mode by @Zorinik in #3715
- switching from unittest to pytest in test_json_parser by @rihp in #3481
- Incremented Version BULLETIN.md by @AlexKissiJr in #4236
- Prevent test collection errors in devcontainer by @lc0rp in #4180
- Added unittest cases for commands/analyze_code.py file by @gocodeo in #4212
- Delete sponsors_readme.yml workflow by @Pwuts in #4304
- Imagegen delay retry huggingface by @lc0rp in #4194
- Enabling/disabling none/all of plugins from .env file by @TrajanWJ in #4036
- Update setup.md by @johnisanerd in #3690
- add command shell blacklist and whitelist by @Wladastic in #3950
- Used a regex expression for simple URL validation and added tests by @OmriGM in #3763
- Clean up BULLETIN.md by @Pwuts in #4305
- Added unittest cases for commands/audio_text.py by @gocodeo in #4307
- Adding devcontainer extensions by @lc0rp in #4181
- fix: completion was being called with wrong data types by @ntindle in #4324
- Fixed #4229 by @konraddroeske in #4278
- Fix split_file when overlap = 0, add test by @k-boikov in #3599
- Update README.md by @namelessperson0 in #4333
- Text file loaders by @sherif-med in #3031
- Update 1.bug.yml to improve consistency of data by @bfalans in #4293
- Prevent docker compose to break config by creating folders by @k-boikov in #4125
- Create data folder in Docker release build by @Pwuts in #4347
- Pass command line args as list by @Androbin in #1486
- Improve Azure setup wording in docs by @ntindle in #4325
- Cassettes should be added in the same pull request, without extra pull request by @merwanehamadi in #4355
- CI: set base repo before
gh pr checkout
by @merwanehamadi in #4363 - Update get_hyperlinks description by @sicongzhao in #4122
- Fix the version of duckduckgo-search to avoid empty result issue by @kinance in #4368
- empty commit to see cassette status by @merwanehamadi in #4382
- Migrate google search to use DDGS.text function by @kinance in https://github.com/Signifi...
Auto-GPT v0.3.1
Summary
Challenges
- Information retrieval challenges have been created and added to the wiki.
- Memory challenges B and C have been created and their documentations have been fixed.
Documentation
- Docker-compose 1.29.0 is now required, as documented.
- Path to the workspace directory in the setup guide has been corrected.
- Memory setup links have been updated.
Log
- Log functionality has been improved for better understanding and easier summarization.
- User input is now logged in the logs/Debug Folder.
Other
- Edge browser support has been added using EdgeChromiumDriverManager.
- Users now have the ability to disable commands via the
.env
file. - Run scripts for both Windows (.bat) and Unix (.sh) have been updated.
BugFix
- DuckDuckGo dependency has been updated, with a minimum version set to 2.9.5.
- Package versions parsing has been enabled for forced upgrades.
- Docker volume mounts have been fixed.
- A fix was made to the
plugin.post_planning
call. - A selenium driver object reference bug in the browsing results was fixed.
- JSON error in summary_memory.py has been handled.
- Dockerfile has been updated to add missing scripts and plugins directories.
Plugins
- Denylist handling for plugins is now available.
CI
- The CI pipeline has been tightened up for improved performance.
- pytest-xdist Plugin has been integrated for parallel and concurrent testing.
- Tests have been conducted for a new CI pipeline.
- A code owners policy has been added.
- Test against Python 3.10 (not 3.10 + 3.11) to halve the number of tests that are executed.
What's Changed
- Patch
master
with fixes fromrelease-v0.3
by @Pwuts in #3694 - Feature/tighten up ci pipeline by @merwanehamadi in #3700
- Fix docker volume mounts by @ppetermann in #3710
- Feature/enable intuitive logs for community challenge step 1 by @merwanehamadi in #3695
- Feature/enable intuitive logs summarization by @merwanehamadi in #3697
- Move task_complete command out of prompt by @ntindle in #3663
- Allow users to Disable Commands via the .env by @ntindle in #3667
- Document Disabling command categories by @ntindle in #3669
- Enable denylist handling for plugins by @lc0rp in #3688
- Fix call to
plugin.post_planning
by @Androbin in #3414 - create information retrieval challenge a by @merwanehamadi in #3770
- fix typos by @RainRat in #3798
- Update run.bat by @itsmarble in #3783
- Update run.sh by @itsmarble in #3752
- ADD: Bash block in the contributing markdown by @ambujpawar in #3701
- BUGFIX: Selenium Driver object reference was included in the browsing results for some reason by @bszollosinagy in #3642
- Self feedback Improvement by @AbTrax in #3680
- community challenges in the wiki by @merwanehamadi in #3764
- Implement Logging of User Input in logs/Debug Folder by @AndresCdo in #3867
- add information retrieval challenge to the wiki by @merwanehamadi in #3876
- add code owners policy by @merwanehamadi in #3981
- Memory Challenge C by @dschonholtz in #3908
- memory challenge c cassette is inconsistent by @merwanehamadi in #3985
- Fix for Memory Challenge B & C Documentations by @sdfgsdfgd in #3989
- Feature/centralize prompt by @merwanehamadi in #3990
- Use correct reference to prompt_generator in autogpt/llm/chat.py by @TKasperczyk in #4011
- fix typos by @minfenglu in #3998
- fix typo in the getting started docs by @jit-shlomi in #3997
- Fix path to workspace directory in setup guide by @itaisteinherz in #3927
- document that docker-compose 1.29.0 is minimally required by @Boostrix in #3963
- Integrate pytest-xdist Plugin for Parallel and Concurrent Testing by @AndresCdo in #3870
- explain temperature setting in env file by @Boostrix in #4140
- Catch JSON error in summary_memory.py by @kristianjackson in #3996
- Update duckduckgo dependency - min should be 2.9.5 by @lalo in #4142
- Update Dockerfile - add missing scripts and plugins directories. by @prom3theu5 in #3706
- Updated memory setup links by @dominic-ks in #3829
- Parse package versions so upgrades can be forced by @k-boikov in #4149
- fix typo in autopgt/agent/agent.py by @andrey13771 in #3747
- Fix
milvus_memory_test.py
mockConfig
by @Androbin in #3424 - Implemented showing the number of preauthorised commands left. #1035 by @xhypeDE in #3322
- Challenge: Kubernetes and documentation by @rihp in #4121
- Make sdwebui tests pass (when SD is running) by @cwenner in #3721
- Add Edge browser support using EdgeChromiumDriverManager by @karimhabush in #3058
- Added --install-plugin-deps to Docker by @k-boikov in #4151
- Feature/basic proxy by @merwanehamadi in #4164
- test new CI by @merwanehamadi in #4168
- Feature/test new ci pipeline 2 by @merwanehamadi in #4169
- Test New CI Pipeline by @merwanehamadi in #4170
- Feature/fix rate limiting issue Step 1 by @merwanehamadi in #4173
- Put back 3.11 until it's removed as a requirement by @merwanehamadi in #4185
- Revert "Put back 3.11 until it's removed as a requirement" by @k-boikov in #4191
- Release 0.3.1 by @richbeales in #4201
New Contributors
- @RainRat made their first contribution in #3798
- @ambujpawar made their first contribution in #3701
- @sdfgsdfgd made their first contribution in #3989
- @TKasperczyk made their first contribution in #4011
- @minfenglu made their first contribution in #3998
- @jit-shlomi made their first contribution in #3997
- @itaisteinherz made their first contribution in #3927
- @Boostrix made their first contribution in #3963
- @kristianjackson made their first contribution in #3996
- @lalo made their first contribution in #4142
- @prom3theu5 made their first contribution in #3706
- @dominic-ks made their first contribution in #3829
- @andrey13771 made their first contribution in #3747
- @xhypeDE made their first contribution in #3322
- @cwenner made their first contribution in #3721
- @karimhabush made their first contribution in #3058
Full Changelog: v0.3.0...v0.3.1
Auto-GPT v0.3.0
Over a week and 275 pull requests have passed since v0.2.2, and we are happy to announce the release of v0.3.0! From now on, we will be focusing on major improvements rather than bugfixes, as we feel stability has reached a reasonable level. Most remaining issues relate to limitations in prompt generation and the memory system, which will be the focus of our efforts for the next release.
Highlights ✨
Plugins 🔌
Now 3rd-party developers can extend the functionality of AutoGPT by writing plugins.
Do you want Auto-GPT to access your calendar or open your garage door? Write a plugin for it!
Please note the Plugin interface is unstable and will change with potentially v0.3.1 and v0.4.0 as we add more capability
https://github.com/Significant-Gravitas/Auto-GPT-Plugins#plugins-in-the-repository
Documentation 📖 - https://docs.agpt.co/
The docs have been updated and can now be found on https://docs.agpt.co/. RTFM! :)
Test Driven Development 🧪
Many proposals come in, but how to know which ones actually improve Auto-GPT? To better focus our efforts, our tests now include challenges, e.g., a memory challenge (levels 1 to 10).
AutoGPT can get up to level 4. Can any rockstar dev get it to level 5 or level 10?
Simplified prompt 💬
Auto-GPT just became a lot easier to use with an automatic initial prompt generator.
Just say what you want, e.g., "make pong," and Auto-GPT will (attempt to) do the rest.
Self-feedback 🔍
This feature enables the AI to engage in reflection and improve its thought, plans, and reasoning capabilities by considering its own internal evaluations. To use this feature, input the 'S' key when Auto-GPT asks for your input.
Memory Management 🧠
To better keep the AI on track, Auto-GPT now maintains a running summary of prior interactions.
After each interaction, this summary is updated. In this way, Auto-GPT remembers what's essential as it works.
Behind the scenes
The above are highlights out of the changes you'll see as a user, but it's just the tip of the iceberg.
Behind the scenes, the core team has been restructuring the codebase and organizing itself.
We're paying back the technical debt that was accrued during our early days. There's much more to come.
Full List of What's Changed
- Plugin Support by @BillSchumacher in #757
- Shirt size labeling for PRs by @ntindle in #2467
- fix shirt-sizing workflow permissions by @Pwuts in #2605
- Update docker-hub image push action by @richbeales in #1986
- Stable by @juanignacioronca in #2272
- include openapi-python-client in docker build by @k-boikov in #2669
- Fix README
./run.sh start
->./run.sh
by @chenfengyanyu in #2523 - Cancel in-progress docker CI on outdate by @edcohen08 in #2619
- doc: update git clone command to use stable branch by @egonm12 in #2667
- Use inclusive language: Rename 'blacklist' to 'denylist' and 'whitelist' to 'allowlist' by @riensen in #2644
- Pin BeautifulSoup version to fix
browse_website
by @peterbanda in #2680 - fix #2654 spacy language model installation by @Pwuts in #2727
- Fix
validate_json
file error when cwd != project root by @mickjagger19 in #2665 - Add missing
size
param to generate_image_with_dalle by @AndresCdo in #2691 - Fix label of
download_file
command by @Nickfost in #2753 - Fix typo's by @lengweiping1983 in #2735
- Add Coverage reporting to CI pipeline by @ntindle in #2628
- Make
load_azure_config
throw ifazure.yaml
does not exist by @Pwuts in #2758 - docs: fix small typo in README by @chrisvxd in #2752
- Update README.md by @Bsodoge in #2709
- add instruction to show .env by @itsmarble in #2705
- Update pre-commit version by @AndresCdo in #2682
- Improve plugin section in README.md to prevent dependency errors by @riensen in #2651
- Added version select to bug template by @cryptidv in #2545
- only adjust argument order by @lengweiping1983 in #2313
- Make config load and override for every new run by @coditamar in #2788
- Update README.md by @T-Higgins in #2785
- fix indentation of bug template yml by @k-boikov in #2832
- Fix docker usage readme by @pkqs90 in #2406
- Update README.md (
IMAGE_PROVIDER=sd
=>IMAGE_PROVIDER=huggingface
) by @okunishinishi in #2802 - [Hotfix] Fix coverage tooling by @ntindle in #2771
- Add OS Info into the initial prompt by @MikelCalvo in #2587
- Update readme to more clearly describe usage between platforms by @BuildEverything in #2837
- Use readline if available by @jlxip in #2558
- Add file op tests by @rocks6 in #2205
- fixed typo by @sudouser777 in #2851
- [feat] Update milvus_memory_test.py error log by @AndresCdo in #2679
- Add Code Cov by @ntindle in #2877
- Added basic spinner tests and modified spinner method docstring by @OmriGM in #2855
- Documentation: fixing typos in README.md by @didier-durand in #2886
- Update README to include Eleven Labs speech setup by @minghinmatthewlam in #2884
- Fixing header of CONTRIBUTING.md by @didier-durand in #2888
- adjust file_operations.py code format by @gklab in #2756
- Fix(tests): restore config values after changing them in tests by @Torantulino in #2904
- Add CodeCov CI coverage requirements by @ntindle in #2881
- Re-work Docs and split out README (using MkDocs) by @richbeales in #2894
- ci: selenium safari bug fixed by @dharana77 in #2915
- Replace print statements with logging.error by @ugobok in #2708
- Fix plugin command arg ordering issue. by @BillSchumacher in #2631
- misc: fix typo in benchmark by @jazelly in #2521
- Tests utils suite by @rihp in #2961
- Automatic prompting by @Torantulino in #2896
- Documentation typo: serach -> search by @didier-durand in #2977
- Mark test test_generate_aiconfig_automatic_typical as @requires_api_… by @richbeales in #2981
- Add note for windows install by @ntindle in #2970
- Fix to prompt generator - "Ensure the response can beparsed" by @richbeales in #2980
- Add missing test decorator by @richbeales in #2989
- update weaviate.py for weaviate compatibility by @non-adj in #2985
- Documentation: fixing typos by @didier-durand in #2978
- Documentation: ensuring naming consistency by @didier-durand in #2975
- update documentation deploy gh action by @richbeales in #3030
- Support secure and authenticated Milvus memory backends by @chyezh in #2127
- Fix Milvus module config import by @chyezh in #3036
- Add workspace abstraction by @collijk in #2982
- Fix typo in warning message when non allowlisted plugins found by @hdkiller in #3044
- Make Aut...
Auto-GPT v0.2.2
Welcome to Auto-GPT release 0.2.2. This is largely a release focussed on stability over 0.2.1. More exciting stuff will becoming in 0.3.0!
What's Changed
- Add "Memory Backend Setup" subtitle by @jakubbober in #1983
- benchmark json errors, clean json parsing code and implement json schema by @merwanehamadi in #1866
- Fixed new backends not being added to supported memory by @cryptidv in #1977
- Fix README.md by @MrBrain295 in #1925
- Add run scripts for shell by @lonrun in #1743
- data_ingestion.py 'no module named 'autogpt'" fix and ReadMe update by @Slowly-Grokking in #1679
- minimall add pytest by @0xArty in #1859
- Change ci to pytest by @0xArty in #2009
- Improve dev containers so autogpt can browse the web by @bennyhobart in #1942
- fix user input being modified by @merwanehamadi in #2007
- add utf-8 encoding to file handlers for logging by @k-boikov in #1916
- Feature/hotfix user input by @merwanehamadi in #2019
- ensure git operations occur in the working directory by @ccheney in #2020
- Clean up README by @Pwuts in #2040
- Implement new demo video into README.md by @Void-n-Null in #2041
- Added one space after period for better formatting by @AdrianScott in #2022
- Added Credit to README.md Demo by @Void-n-Null in #2063
- Add File Downloading Capabilities by @cryptidv in #1680
- Fix milvus test Error: 'NameError: name 'MockConfig' is not defined' by @wangxuqi in #2061
- Fix: Update run_continuous.sh to correctly pass all command-line arguments by @0xf333 in #2012
- move comment to correct position by @nolan23 in #1555
- feat: (aesthetic) add space on warning message by @BatesJernigan in #2003
- Remove irrelevant noqa comments by @endolith in #905
- add docker requirements - jsonschema by @Song2017 in #2083
- Add the OpenAI API Keys Configuration to the top of the readme by @cryptidv in #2089
- Add Nix flakes support through direnv by @superherointj in #1091
- Don't incapacitate yourself! by @lfricken in #1240
- feat(pr-labels): auto-label conflicting PRs by @Pwuts in #2195
- Use latest alpine image for code execution by @rickythefox in #1192
- fix(pr-label): set job permissions explicitly by @Pwuts in #2198
- internal resource request bug by @REal0day in #2001
- install chrome/firefox for headless browing when running in docker co… by @obonyojimmy in #1723
- Unbound summary size by @tkaitchuck in #2056
- Fix split file to handle edge case where overlap size > last chunk size by @rocks6 in #2062
- 【fix】config.py format by @gklab in #2108
- fix(pr-label): mitigate excessive concurrent runs by @Pwuts in #2203
- fix a missing import by @xffxff in #2129
- Update .env.template by @mawsyh in #2132
- config.py: update OpenAI link to platform.openai.com by @suzuken in #2137
- Update README.md with Weaviate installation and reference by @bobvanluijt in #2153
- Remove requirements-docker.txt by @deece in #2024
- Fix BRIAN_TTS - Prevent TypeError exception in _speech method by @gabrielrbarbosa in #2105
- Update .env.template by @Funkelfetisch in #2172
- Spelling Fixes by @H-jj-R in #2168
- fix(pr-label): concurrency group cannot be empty by @Pwuts in #2217
- Improve the error logging for OAI Issues by @cryptidv in #1987
- added missing import by @aminghani in #2183
- docs: update docs around Milvus by @hamidzr in #2176
- memory object move to memory_add block by @lengweiping1983 in #2093
- Add Fixes for Selenium Browsing On Linux by @cryptidv in #2096
- Allow local Development without pip install using "pip install -e ." by @bszollosinagy in #1474
- fixes Weaviate index name to classname conversion by @cs0lar in #1836
- fix: unreadable text in console and potentially over the max token by @tzengyuxio in #2050
- Added return type hint to execute_code.py file by @Tmpecho in #2227
- changed rstrip for strip and added case for empty string by @Lootheo in #2193
- Align flake, black and isort to pipelines and precommit hooks by @merwanehamadi in #2192
- Make Continuous Integration Automatic by @Torantulino in #2327
- Add non-essential warning for contributors by @cryptidv in #2359
- Use click to parse arguments by @0xArty in #2373
- Improve the Issue Templates by @cryptidv in #2375
- Hotfix bugs template by @cryptidv in #2408
- [Hotfix] bugs template again by @cryptidv in #2415
- Fix for execute_shell_popen using WORKING_DIRECTORY by @ezolenko in #2318
- Added ability to output news/announcements on startup by @richbeales in #2429
- Hotfix - Announcement filename was incorrect by @richbeales in #2441
- feat: Add support for running Chrome in Headless mode. by @ickma in #1473
- Move to Python 3.10 & improve CI workflow by @Pwuts in #2369
- fix(python-run): prompt users to install Docker when execute_python_file encounters a Docker error by @willcallender in #2231
- Ensure Python 3.10 & 3.11 compatability by @drikusroor in #1815
- Option to disable working directory restrictions by @Josh-XT in #1875
- Rename
evaluate_code
toanalyze_code
by @willcallender in #1371 - Image generation improvements by @Tymec in #1477
- Delete unused folder /outputs/ by @wnasich in #1130
- refactoring all json utilities by @bingoko in #2032
- Print the current Git branch on startup - warn if unsupported by @richbeales in #2494
- Update README.md Windows run.bat instructions by @Explorergt92 in #2495
- Fix Issue #1211 - gpt-3.5 chunk is less than the default by @itaihochman in #2324
- fix: remove duplicate task complete command prompt by @zzzgydi in #2321
- Update config.py fix: azure_model_to_deployment_id_map default type should be a dict, not list by @zvrr in #2351
- Fix azure config by @yunzheng1112 in #2355
- Don't install sorcery on docker by @mikekelly in https://github.com/Signific...