-
Notifications
You must be signed in to change notification settings - Fork 44.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(agent/config): Modularize
Config
and revive Azure support (#…
…6497) * feat: Refactor config loading and initialization to be modular and decentralized - Refactored the `ConfigBuilder` class to support modular loading and initialization of the configuration from environment variables. - Implemented recursive loading and initialization of nested config objects. - Introduced the `SystemConfiguration` base class to provide common functionality for all system settings. - Added the `from_env` attribute to the `UserConfigurable` decorator to provide environment variable mappings. - Updated the `Config` class and its related classes to inherit from `SystemConfiguration` and use the `UserConfigurable` decorator. - Updated `LoggingConfig` and `TTSConfig` to use the `UserConfigurable` decorator for their fields. - Modified the implementation of the `build_config_from_env` method in `ConfigBuilder` to utilize the new modular and recursive loading and initialization logic. - Updated applicable test cases to reflect the changes in the config loading and initialization logic. This refactor improves the flexibility and maintainability of the configuration loading process by introducing modular and recursive behavior, allowing for easier extension and customization through environment variables. * refactor: Move OpenAI credentials into `OpenAICredentials` sub-config - Move OpenAI API key and other OpenAI credentials from the global config to a new sub-config called OpenAICredentials. - Update the necessary code to use the new OpenAICredentials sub-config instead of the global config when accessing OpenAI credentials. - (Hopefully) unbreak Azure support. - Update azure.yaml.template. - Enable validation of assignment operations on SystemConfiguration and SystemSettings objects. * feat: Update AutoGPT configuration options and setup instructions - Added new configuration options for logging and OpenAI usage to .env.template - Removed deprecated configuration options in config/config.py - Updated setup instructions in Docker and general setup documentation to include information on using Azure's OpenAI services * fix: Fix image generation with Dall-E - Fix issue with image generation with Dall-E API Additional user context: This commit fixes an issue with image generation using the Dall-E API. The code now correctly retrieves the API key from the agent's legacy configuration. * refactor(agent/core): Refactor `autogpt.core.configuration.schema` and update docstrings - Refactor the `schema.py` file in the `autogpt.core.configuration` module. - Added docstring to `SystemConfiguration.from_env()` - Updated docstrings for functions `_get_user_config_values`, `_get_non_default_user_config_values`, `_recursive_init_model`, `_recurse_user_config_fields`, and `_recurse_user_config_values`.
- Loading branch information
Showing
17 changed files
with
669 additions
and
404 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.