Commit Graph

172 Commits (33dd2eb9197cd7ceccceff9d957c8f09b4d18b54)

Author SHA1 Message Date
Reinier van der Leer edcbbbce25
feat(forge/llm): Add `GroqProvider` (#7130)
* Add `GroqProvider` in `forge.llm.providers.groq`
  * Add to `llm.providers.multi`
  * Add `groq` dependency (v0.8.0)

* Update AutoGPT docs & config template
  * Update .env.template
  * Update docs
2024-05-24 16:34:51 +02:00
Krzysztof Czerwinski 4c325724ec
refactor(autogpt, forge): Remove `autogpts` directory (#7163)
- Moved `autogpt` and `forge` to project root
- Removed `autogpts` directory
- Moved and renamed submodule `autogpts/autogpt/tests/vcr_cassettes` to `autogpt/tests/vcr_cassettes`
- When using CLI agents will be created in `agents` directory (instead of `autogpts`)
- Renamed relevant docs, code and config references from `autogpts/[forge|autogpt]` to `[forge|autogpt]` and from `*../../*` to `*../*`
- Updated `CODEOWNERS`, GitHub Actions and Docker `*.yml` configs
- Updated symbolic links in `docs`
2024-05-22 13:08:54 +01:00
Krzysztof Czerwinski 3475aaf384
refactor(agent): Remove unused `autogpt` code (#7112)
Remove unused `autogpt` code and reorganize its file structure.

* Moved:
  * `autogpt/agent_manager/agent_manager.py` to `autogpt/agents/agent_manager.py`, so the dir `agent_manager` was removed
  * `dump_prompt` from `autogpt.core.runner.client_lib.logging.helpers` to `forge/llm/prompting/utils.py`
  * `coroutine` decorator from `autogpt.core.runner.client_lib.utils` to `autogpt/app/utils.py`
* Removed within `autogpt`:
  * Memory-related code from multiple files (not used), including `memory/*`
  * Memory-related config entries/env vars: `memory_backend`, `memory_index`, `redis_host`, `redis_port`, `redis_password`, `wipe_redis_on_start`
  * `core` files, from failed re-arch:
    * `*.md` docs
    * `core/ability/*`
    * `core/agent/*`
    * `core/memory/*`
    * `core/planning/*`
    * `core/plugin/*`
    * `core/workspace/*`
    * `core/runner/*` (`dump_prompt` and `coroutine` were moved)
  * Related tests
* Updated relevant docs
2024-05-22 09:43:15 +01:00
Krzysztof Czerwinski bcc5282aba
refactor(forge): Clean `forge` (#7117)
Remove unused `forge` code and improve structure of `forge`.

* Put all Agent Protocol stuff together in `forge.agent_protocol`
  * ... including `forge.agent_protocol.database` (was `forge.db`)
* Remove duplicate/unused parts from `forge`
  * `forge.actions`, containing old commands; replaced by `forge.components` from `autogpt`
  * `forge/agent.py` (the old one, `ForgeAgent`)
  * `forge/app.py`, which was used to serve and run the `ForgeAgent`
  * `forge/db.py` (`ForgeDatabase`), which was used for `ForgeAgent`
  * `forge/llm.py`, which has been replaced by new `forge.llm` module which was ported from `autogpt.core.resource.model_providers`
  * `forge.memory`, which is not in use and not being maintained
  * `forge.sdk`, much of which was moved into other modules and the rest is deprecated
  * `AccessDeniedError`: unused
  * `forge_log.py`: replaced with `logging`
  * `validate_yaml_file`: not needed
  * `ai_settings_file` and associated loading logic and env var `AI_SETTINGS_FILE`: unused
  * `prompt_settings_file` and associated loading logic and env var `PROMPT_SETTINGS_FILE`: default directives are now provided by the `SystemComponent`
    * `request_user_double_check`, which was only used in `AIDirectives.load`
  * `TypingConsoleHandler`: not used
2024-05-21 19:18:47 +01:00
Krzysztof Czerwinski e8d7dfa386
refactor(agent, forge): Move library code from `autogpt` to `forge` (#7106)
Moved from `autogpt` to `forge`:
- `autogpt.config`          -> `forge.config`
- `autogpt.processing`      -> `forge.content_processing`
- `autogpt.file_storage`    -> `forge.file_storage`
- `autogpt.logs`            -> `forge.logging`
- `autogpt.speech`          -> `forge.speech`
- `autogpt.agents.(base|components|protocols)`  -> `forge.agent.*`
- `autogpt.command_decorator`                   -> `forge.command.decorator`
- `autogpt.models.(command|command_parameter)`  -> `forge.command.(command|parameter)`
- `autogpt.(commands|components|features)`      -> `forge.components`
- `autogpt.core.utils.json_utils`           -> `forge.json.parsing`
- `autogpt.prompts.utils`                   -> `forge.llm.prompting.utils`
- `autogpt.core.prompting.(base|schema|utils)`    -> `forge.llm.prompting.*`
- `autogpt.core.resource.model_providers`   -> `forge.llm.providers`
- `autogpt.llm.providers.openai` + `autogpt.core.resource.model_providers.utils`
                                            -> `forge.llm.providers.utils`
- `autogpt.models.action_history:Action*`   -> `forge.models.action`
- `autogpt.core.configuration.schema`       -> `forge.models.config`
- `autogpt.core.utils.json_schema`          -> `forge.models.json_schema`
- `autogpt.core.resource.schema`            -> `forge.models.providers`
- `autogpt.models.utils`                    -> `forge.models.utils`
- `forge.sdk.(errors|utils)` + `autogpt.utils.(exceptions|file_operations_utils|validators)`
                        -> `forge.utils.(exceptions|file_operations|url_validator)`
- `autogpt.utils.utils` -> `forge.utils.const` + `forge.utils.yaml_validator`

Moved within `forge`:
- forge/prompts/* -> forge/llm/prompting/*

The rest are mostly import updates, and some sporadic removals and necessary updates (for example to fix circular deps):
- Changed `CommandOutput = Any` to remove coupling with `ContextItem` (no longer needed)
- Removed unused `Singleton` class
- Reluctantly moved `speech` to forge due to coupling (tts needs to be changed into component)
- Moved `function_specs_from_commands` and `core/resource/model_providers` to `llm/providers` (resources were a `core` thing and are no longer relevant)
- Keep tests in `autogpt` to reduce changes in this PR
- Removed unused memory-related code from tests
- Removed duplicated classes: `FancyConsoleFormatter`, `BelowLevelFilter`
- `prompt_settings.yaml` is in both `autogpt` and `forge` because for some reason doesn't work when placed in just one dir (need to be taken care of)
- Removed `config` param from `clean_input`, it wasn't used and caused circular dependency
- Renamed `BaseAgentActionProposal` to `ActionProposal`
- Updated `pyproject.toml` in `forge` and `autogpt`
- Moved `Action*` models from `forge/components/action_history/model.py` to `forge/models/action.py` as those are relevant to the entire agent and not just `EventHistoryComponent` + to reduce coupling
- Renamed `DEFAULT_ASK_COMMAND` to `ASK_COMMAND` and `DEFAULT_FINISH_COMMAND` to `FINISH_COMMAND`
- Renamed `AutoGptFormatter` to `ForgeFormatter` and moved to `forge`

Includes changes from PR https://github.com/Significant-Gravitas/AutoGPT/pull/7148
---------

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2024-05-16 00:37:53 +02:00
Swifty 34fdbaa26b
Remove arena (#7134)
* remove arena

* refactor: Remove Arena intake workflow

* Remove all mention of the arena

* remove evo.ninja
2024-05-09 11:36:40 +02:00
Reinier van der Leer 2ef5cd7d4c
fix(agent): Swap target files and symlinks of component documentation to make package buildable
Documentation files were in docs/content/AutoGPT/components, symlinks in autogpts/autogpt/autogpt/(agents|commands).
Chef doesn't allow symlinks that point to locations outside of package dir.
Replacing the documentation files with symlinks, and symlinks with the actual documentation files, should fix this.
2024-05-07 13:44:31 +02:00
Reinier van der Leer 39c46ef6be
feat(agent/core): Add Anthropic Claude 3 support (#7085)
- feat(agent/core): Add `AnthropicProvider`
  - Add `ANTHROPIC_API_KEY` to .env.template and docs

  Notable differences in logic compared to `OpenAIProvider`:
  - Merges subsequent user messages in `AnthropicProvider._get_chat_completion_args`
  - Merges and extracts all system messages into `system` parameter in `AnthropicProvider._get_chat_completion_args`
  - Supports prefill; merges prefill content (if any) into generated response

- Prompt changes to improve compatibility with `AnthropicProvider`
  Anthropic has a slightly different API compared to OpenAI, and has much stricter input validation. E.g. Anthropic only supports a single `system` prompt, where OpenAI allows multiple `system` messages. Anthropic also forbids sequences of multiple `user` or `assistant` messages and requires that messages alternate between roles.
  - Move response format instruction from separate message into main system prompt
  - Fix clock message format
  - Add pre-fill to `OneShot` generated prompt

- refactor(agent/core): Tweak `model_providers.schema`
  - Simplify `ModelProviderUsage`
     - Remove attribute `total_tokens` as it is always equal to `prompt_tokens + completion_tokens`
     - Modify signature of `update_usage(..)`; no longer requires a full `ModelResponse` object as input
  - Improve `ModelProviderBudget`
     - Change type of attribute `usage` to `defaultdict[str, ModelProviderUsage]` -> allow per-model usage tracking
     - Modify signature of `update_usage_and_cost(..)`; no longer requires a full `ModelResponse` object as input
     - Allow `ModelProviderBudget` zero-argument instantiation
  - Fix type of `AssistantChatMessage.role` to match `ChatMessage.role` (str -> `ChatMessage.Role`)
  - Add shared attributes and constructor to `ModelProvider` base class
  - Add `max_output_tokens` parameter to `create_chat_completion` interface
  - Add pre-filling as a global feature
    - Add `prefill_response` field to `ChatPrompt` model
    - Add `prefill_response` parameter to `create_chat_completion` interface
  - Add `ChatModelProvider.get_available_models()` and remove `ApiManager`
  - Remove unused `OpenAIChatParser` typedef in openai.py
  - Remove redundant `budget` attribute definition on `OpenAISettings`
  - Remove unnecessary `usage` in `OpenAIProvider` > `default_settings` > `budget`

- feat(agent): Allow use of any available LLM provider through `MultiProvider`
  - Add `MultiProvider` (`model_providers.multi`)
  - Replace all references to / uses of `OpenAIProvider` with `MultiProvider`
  - Change type of `Config.smart_llm` and `Config.fast_llm` from `str` to `ModelName`

- feat(agent/core): Validate function call arguments in `create_chat_completion`
    - Add `validate_call` method to `CompletionModelFunction` in `model_providers.schema`
    - Add `validate_tool_calls` utility function in `model_providers.utils`
    - Add tool call validation step to `create_chat_completion` in `OpenAIProvider` and `AnthropicProvider`
    - Remove (now redundant) command argument validation logic in agent.py and models/command.py

- refactor(agent): Rename `get_openai_command_specs` to `function_specs_from_commands`
2024-05-04 20:33:25 +02:00
Krzysztof Czerwinski d38e8b8f6c
clean(autogpt): Remove old plugin system (#7097)
### Background

Follow up after merging https://github.com/Significant-Gravitas/AutoGPT/pull/7054, old plugins will no longer be used.

### Changes 🏗️

- Removed all dead code needed to load and use plugins.
- Removed `auto-gpt-plugin-template` dependency
- Removed `rev=` from `autogpt-forge` dependency (the set `rev` had incompatible `duckduckgo-search` versions)
- Kept `--install-plugin-deps` CLI option and dead code associated (may be needed for new plugins)
2024-04-28 21:10:53 +02:00
Nicholas Tindle 5e89b8c6d1
Add all the new component docs to the site and do a tidy up of docs (#7098)
* feat: add all the new component docs to the site

* fix(docs): relative links and markdown warnings

* feat(docs): How to contribute to the docs as a docs section

* fix(docs): missed docs page for developer setup

* fix(docs): re-add configurations options

* fix(docs): bad link to components fixed

* fix(docs): bad link to components fixed

* ref(docs): reorder some items to make more sense

* fix(docs): bad indentation and duplicate block

* fix(docs): warning about out of date markdown extension

* fix(docs): broken links fixed

* fix(docs): markdown formatter complaints
2024-04-23 08:49:07 -05:00
Krzysztof Czerwinski a74548d3cd
feat(agent): Component-based Agents (#7054)
This incremental re-architecture unifies Agent code and plugins, so everything is component-based.

## Breaking changes

- Removed command categories and `DISABLED_COMMAND_CATEGORIES` environment variable. Use `DISABLED_COMMANDS` environment variable to disable individual commands.
- Changed `command` decorator; old-style commands are no longer supported. Implement `CommandProvider` on components instead.
- Removed `CommandRegistry`, now all commands are provided by components implementing `CommandProvider`.
- Removed `prompt_config` from `AgentSettings`.
- Removed plugin support: old plugins will no longer be loaded and executed.
- Removed `PromptScratchpad`, it was used by plugins and is no longer needed.
- Changed `ThoughtProcessOutput` from tuple to pydantic `BaseModel`.

## Other changes

- Created `AgentComponent`, protocols and logic to execute them.
- `BaseAgent` and `Agent` is now composed of components.
- Moved some logic from `BaseAgent` to `Agent`.
- Moved agent features and commands to components.
- Removed check if the same operation is about to be executed twice in a row.
- Removed file logging from `FileManagerComponent` (formerly `AgentFileManagerMixin`)
- Updated tests
- Added docs

See [Introduction](https://github.com/kcze/AutoGPT/blob/kpczerwinski/open-440-modular-agents/docs/content/AutoGPT/component%20agent/introduction.md) for more information.
2024-04-22 19:20:01 +02:00
Reinier van der Leer 03ffb50dcf
ci(docs): Fix Netlify build ignore check 2024-03-20 11:49:41 +01:00
Sukka dfad535dea
fix(docs): Replace `polyfill.io` by Cloudflare mirror (#6952) 2024-03-15 13:01:30 +01:00
Nicholas Tindle fa14865163
docs: Redirect AutoGPT users from Forge tutorial with warning (#7014)
Update forge/get-started.md
2024-03-15 11:38:52 +01:00
Reinier van der Leer 1d653973e9
feat(agent/llm): Use new OpenAI models as default `SMART_LLM`, `FAST_LLM`, and `EMBEDDING_MODEL`
- Change default `SMART_LLM` from `gpt-4` to `gpt-4-turbo-preview`
- Change default `FAST_LLM` from `gpt-3.5-turbo-16k` to `gpt-3.5-turbo-0125`
- Change default `EMBEDDING_MODEL` from `text-embedding-ada-002` to `text-embedding-3-small`
- Update .env.template, azure.yaml.template, and documentation accordingly
2024-02-12 13:19:37 +01:00
Nicholas Tindle 97023b9a3c
feat(agent/server): Make port configurable, add documentation for Agent Protocol DB and port config (#6569)
* docs: Add documentation on how to use Agent Protocol in the template

- Added documentation on how to use Agent Protocol and its settings in the `.env.template` file.
- An explanation is provided for the `AP_SERVER_PORT` and `AP_SERVER_DB_URL` settings.
- This change aims to improve the understanding and usage of Agent Protocol in the project.

* docs: Update usage.md with information about configuring the API port

- Update the documentation for the `serve` mode in `usage.md`
- Add information about configuring the port for the API server using the `AP_SERVER_PORT` environment variable.

---------

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2024-01-12 14:41:43 +01:00
Reinier van der Leer 7b05245286
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`.
2023-12-05 16:28:23 +01:00
Reinier van der Leer e70a6129cf
docs: Add workspace information to AutoGPT user guide
- Added information about the workspace folder in the AutoGPT user guide
- Clarified that files outside the workspace folder are inaccessible unless RESTRICT_TO_WORKSPACE is set to False. Provided a warning against disabling RESTRICT_TO_WORKSPACE unless in a sandbox environment.
2023-11-25 18:06:05 +01:00
Reinier van der Leer 809173c3f5
docs: Update AutoGPT workspace location and other minor fixes
- Update the `RESTRICT_TO_WORKSPACE` variable in `.env.template` to use the new workspace location
- Update the `.gitignore` files to remove the old workspace directory
- Update the `voice.md` file in the documentation to reflect the new command for speech mode
2023-11-25 16:21:27 +01:00
Reinier van der Leer 8d12f3fe6b
chore(docs): Delete deprecated memory configuration guide 2023-11-25 16:10:29 +01:00
Reinier van der Leer d8bafa9e1b
docs: Fix broken links in AutoGPT+Docker guide 2023-11-24 19:01:25 +01:00
Reinier van der Leer 1ce82372fd
refactor: Rename Agent's entrypoint to autogpt.sh
- Renamed `run.sh` to `autogpt.sh` for consistent naming and easier command usage.
- Updated relevant documentation to reflect the new entrypoint name.
2023-11-24 18:59:21 +01:00
Reinier van der Leer 6d14f314d7
docs: Change absolute URL to relative link in AutoGPT+Docker guide 2023-11-24 18:55:46 +01:00
Reinier van der Leer aaee6d2cbb
fix: Adjust Docker setup and update documentation
- Adjusted the Docker setup for AutoGPT to expose the full CLI and allow access to the Agent Protocol Server's port.
- Updated the AutoGPT+Docker guide in the documentation to reflect the changes.

Changes made:
- In the `Dockerfile`, removed the `--install-plugin-deps` option from the `ENTRYPOINT` command.
- In the `docker-compose.yml` file, added the `ports` section to expose port `8000`.
- In the `pyproject.toml` file, changed the `run` script to `autogpt.app.cli:cli`.
- In the `docker.md` file, added instructions for the new Docker setup and updated the configuration steps.
2023-11-24 18:50:42 +01:00
Reinier van der Leer 2b4c0f5394
meta: Add todo list for sections to write in AutoGPT dev setup guide 2023-11-24 16:37:23 +01:00
Reinier van der Leer 6c14dd4ba0
fix: Correct markup on homepage of docs 2023-11-24 15:53:08 +01:00
Reinier van der Leer 9f20c027bf
docs: Add section about project CLI to documentation
- Added a new section to the documentation about the project CLI
- Provided an overview of the CLI and its usage
- Included common commands and their descriptions
2023-11-24 15:48:31 +01:00
Reinier van der Leer 58341a9396
docs: Fix small errors and markup issues in documentation
- Updated the link to OpenAI API key page in the setup guide
- Fixed formatting issues in the usage guide
- Updated the link to the `.env.template` file in the usage guide
- Fixed formatting and wording issues in the index page
2023-11-24 15:45:54 +01:00
Reinier van der Leer bdbf51b012
docs: Add mention of path to agent user guide 2023-11-23 15:10:06 +01:00
Reinier van der Leer 32f301d85e
docs: Fix broken link in navbar 2023-11-23 15:05:56 +01:00
Reinier van der Leer 24008e8741
docs: Streamline documentation for getting started (#6335)
* README.md
  - Mark evo.ninja as hackathon winner and new Current Best Agent.
  - Remove hackathon banner.
  - Rewrite sections about Forge, Benchmark, UI, Agent Protocol.
  - Add sections about Leaderboard and CLI.
  - Add quick links for improved user navigation, including links to documentation, contributing guidelines, and quickstart guide.
  - Remove Quickstart.

* docs.agpt.co
  - Removed links to outdated pages from navbar.
  - Added quick links to several pages.
  - Refactored and updated titles in docs site navbar for better readability and consistency.
  - Rewrite intros on homepage to be more clear and professional and less cringe-worthy.
  - Fix broken links.
  - Rewrote setup and usage guides for AutoGPT Agent.
    - Removed mentions of Azure support, except in the Docker guide.
  - Added page with general information about AutoGPT.

* CONTRIBUTING.md
  - Make CONTRIBUTING.md more friendly and accessible: added link to public kanban board, encouraged collaboration, removed section about net-negative PRs.

* autogpt/README.md
  - Update description of AutoGPT to mention "modern Large Language Models" instead of GPT-4.
  - Add quick links for improved user navigation, including links to documentation and contributing guidelines.
  - Add features and setup guide: Agent Protocol, UI features, setup instructions, configuration options, Quickstart, CLI instructions, Agent Protocol server instructions, additional resources (wiki, project board, roadmap), and a note on sustainable development.
  - Update links: documentation, setup instructions.
  - Remove outdated Twitter accounts section.
2023-11-23 14:59:17 +01:00
Kiran d27a5b7f49
Fix typo and broken link in no-git setup (#6324)
* Fix typo in heading

* Update link to system requirements

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-11-21 13:24:20 +01:00
Anatolii Kmetiuk 84f6694066
Include poetry install step in dockerless agent setup instructions (#6203)
Without that step, there is an error:
"ModuleNotFoundError: No module named
'auto_gpt_plugin_template'"

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2023-11-21 11:28:10 +01:00
Bently bcdc8d46f5
Restructuring The Docs (#5441)
* Adding More Info To The Docs

* Start of main page rebuild and adding new folders

* Starting to move the AutoGPT(agent) Docs to a subfolder and start setup forge's subfolder

* small fixes in links

* fix file name

* added the benchmakrs page

* added front-end page

* re-aranging the layout

* moved the config section to be under the AutoGPT folder

* fix image link

* moved "Share Logs" and "Testing" to be under the AutoGPT folder

* index.md: fix broken links on home page

* Index.md: Testing Something with the links

* index.md: Added the Benchmarks section

* small fix for Frontend

* Added a chat ai to the docs for testing as part of #5694

* index.md: sepetating the sections and making it easier to read

* index.md: Added discord Link

* index.md: Added better info to each section from @Yash-Ambekar

* index.md: trying to fix the layout

* Index.md: updating layout

* Move Docker Setup To Its Own File

* small fix

* seperating the installation setups to there own page for making things clear

* small fix in links

* fix links again

* change nav titles color to help make things clear

* fix css

* mv custom.css

* fix for css not working

* rm custom css as it didnt work

* fix img

* update image url

* update nav

* index.md: improving layout and wordings

* index.md: testing line breaks

* index.md: Fixed the line breaks

* setup/docker-setp.md: small fix

* Docker-setup.md update link to correct memory page

* docker-setup.md: added note about docker install being broken

* Docker-Setup.md: Updating the warning

* Docker-Setup.md : Test

* docker-setup.md: fix

* docker-setup.md: fix

* docker-setup.md final update to the warning

* Docker-Setup.md

* Updates to mkdocs.yml and docker-setup based on the feedback

* fix to docker-setup.md

* docker-setup.md fix

* introduction.md: fix

* Update docs/content/AutoGPT/Setups/Docker-setup.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* docker-setup.md update link

* Update docs/content/AutoGPT/Setups/Git-setup.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* Update docs/content/AutoGPT/Setups/Git-setup.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* nogit-setup.md: updated links

* Update docs/content/AutoGPT/Setups/Git-setup.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* Update docs/content/index.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* Update docs/content/index.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* Update docs/content/index.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* Update docs/content/index.md

Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>

* setup.md: added extra info about the docker insall

* setup.md small changs to clean things up

* removed emojis from forge get-started.md

* get-started.md - small changes

* Update AutoGPT intro in index.md

---------

Co-authored-by: sohamtembhurne <sohamatembhurne@outlook.com>
Co-authored-by: Yash-Ambekar <yashambekar03@gmail.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Andy Hooker <58448663+andrewhooker2@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2023-11-15 18:54:29 +01:00
Reinier van der Leer 16e266c65f
Set up CI for `development` branch; deprecate `stable` branch 2023-10-21 15:46:53 -07:00
PaperMoose d173dd772d
Tutorial improvement (#5736)
Co-authored-by: Silen Naihin <silen.naihin@gmail.com>
2023-10-17 17:52:33 -07:00
Reinier van der Leer 0b709a4393
Rename AIConfig to AIProfile 2023-10-07 18:14:52 -07:00
SwiftyOS 3109fa583b forge - tutorial 3 adding images 2023-09-27 17:10:07 +02:00
merwanehamadi 8f41dbe27d
Rename Auto-GPT to AutoGPT (#5301)
* Rename to AutoGPT

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>

* Update autogpts/autogpt/BULLETIN.md

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>

* Update BULLETIN.md

* Update docker-compose.yml

* Update autogpts/forge/tutorials/001_getting_started.md

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>

* Update autogpts/autogpt/tests/unit/test_logs.py

Co-authored-by: Reinier van der Leer <pwuts@agpt.co>

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update introduction.md

* Update plugins.md

---------

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Reinier van der Leer <pwuts@agpt.co>
2023-09-22 15:49:29 -07:00
SwiftyOS ca644f8be0 forge - Added image for 3rd tutorial 2023-09-22 17:44:11 +02:00
SwiftyOS 4fd1d4b426 forge - added tutorial images 2023-09-22 16:30:00 +02:00
SwiftyOS 4e2d48b8bd Added benchmarking to the quickstart 2023-09-18 17:56:45 +02:00
SwiftyOS c1abe0e85f Added running of the agent section 2023-09-18 16:37:54 +02:00
SwiftyOS f54e334e0d Added basic quickstart guide 2023-09-18 12:28:37 +02:00
merwanehamadi f76d45cd9e
Remove start from agbenchmark (#5241)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-16 17:22:49 -07:00
Reinier van der Leer b21d68a8ab
Migrate AutoGPT agent to poetry (#5219)
Inspired by #1102

* Migrate AutoGPT agent to poetry

  Co-authored-by: rickythefox <richard@ginzburg.se>

* Rewrite automatic dependency check (check_requirements.py) for poetry

* Sort dependencies

* Add instructions for poetry to README
2023-09-15 05:18:44 +02:00
Vittorio Alfieri 0e8ecdb192
Fix docs: sample docker-compose.yml broken indents (#5168)
auto-gpt keys were mis-nested under auto-gpt section of the docker-compose.yml after modern material improvements in 7cd407b7b4.
2023-09-07 16:05:05 +02:00
Reinier van der Leer ae1452c487
Relocate CoC and fix symlinks 2023-09-06 17:48:29 +02:00
Reinier van der Leer 4328597114
Fix docs deployment: Electric Boogaloo 2023-09-06 17:42:07 +02:00
Reinier van der Leer 6968b69cee
Fix docs deployment 2023-09-06 17:36:51 +02:00
Reinier van der Leer 650072eb99
Fix CI/CD for Auto-GPT + docs site deployment 2023-09-06 17:33:08 +02:00
Merwane Hamadi 8489052358 Move Auto-GPT to autogpts/autogpt 2023-09-05 09:40:24 -07:00
Luke f26ccda097
Bulleting update & version bump (#5112)
* Bulleting update & version bump

* Bulletin.md updates

* Format bulletin

* Added info about new documentation theme.

---------

Co-authored-by: lc0rp <2609411+lc0rp@users.noreply.github.com>
2023-08-11 14:44:27 +02:00
Luke 7cd407b7b4
Use modern material theme for docs (#5035)
* Use modern material theme for docs

* Update mkdocs.yml

Added search plugin

Co-authored-by: James Collins <collijk@uw.edu>

* Updating mkdocs material theme config per recommendations to enable all markdown options

* Updated highlight extension settings
and codeblocks throughout the docs to align with mkdocs-material recommendations.

codehilite is deprecated in favor of the highlight extension:
https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight

---------

Co-authored-by: lc0rp <2609411+lc0rp@users.noreply.github.com>
Co-authored-by: James Collins <collijk@uw.edu>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-08-01 10:17:33 -07:00
merwanehamadi fc6255296a
Add information on how to improve Auto-GPT with agbenchmark (#5056)
* Add information on how to improve Auto-GPT with agbenchmark

* Update introduction.md

* Update docs/challenges/introduction.md

Co-authored-by: Reinier van der Leer <reinier.vanderleer@agpt.co>

* Update introduction.md

---------

Co-authored-by: James Collins <collijk@uw.edu>
Co-authored-by: Reinier van der Leer <reinier.vanderleer@agpt.co>
2023-08-01 09:13:37 -07:00
Reinier van der Leer f87b01620d
Merge branch 'master' into release-v0.4.6-sync-to-master 2023-07-27 01:01:42 +02:00
Reinier van der Leer 7dffd1a4b7
Update bulletin and version numbers 2023-07-26 23:36:56 +02:00
Luke 71e7424baf
Workdir path fixes and docs updates (#5042)
* Use modern material theme for docs

* Further file path fixes, and doc updates to specify when relative paths are expected

* fix: lint

* Remove unwated changes

* Remove comments

---------

Co-authored-by: lc0rp <2609411+lc0rp@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <reinier.vanderleer@agpt.co>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-24 19:34:52 +02:00
merwanehamadi 60d0f5edac
Fix workspace crashing (#5041)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-07-23 21:28:12 -07:00
NeonN3mesis e0bcde178e
Update memory.md with more warnings about memory being disabled (#5008)
Co-authored-by: Luke <2609441+lc0rp@users.noreply.github.com>
2023-07-22 02:37:36 -04:00
Reinier van der Leer 2c53530e99
Fix path processing (#5032)
* Fix and clean up path processing in logs module

* Fix path processing throughout the project

* Fix plugins test

* Fix borky pytest vs mkdir(exist_ok=True)

* Update docs and gitignore for new workspace location

* Fix borky pytest vol.2

* ok james
2023-07-21 11:36:15 -07:00
Reinier van der Leer db95d4cb84
Agent loop v2: Planning & Task Management (part 1: refactoring) (#4799)
* Move rename module `agent` -> `agents`

* WIP: abstract agent structure into base class and port Agent

* Move command arg path sanitization to decorator

* Add fallback token limit in llm.utils.create_chat_completion

* Rebase `MessageHistory` class on `ChatSequence` class

* Fix linting

* Consolidate logging modules

* Wham Bam Boom

* Fix tests & linting complaints

* Update Agent class docstring

* Fix Agent import in autogpt.llm.providers.openai

* Fix agent kwarg in test_execute_code.py

* Fix benchmarks.py

* Clean up lingering Agent(ai_name=...) initializations

* Fix agent kwarg

* Make sanitize_path_arg decorator more robust

* Fix linting

* Fix command enabling lambda's

* Use relative paths in file ops logger

* Fix test_execute_python_file_not_found

* Fix Config model validation breaking on .plugins

* Define validator for Config.plugins

* Fix Config model issues

* Fix agent iteration budget in testing

* Fix declaration of context_while_think

* Fix Agent.parse_and_process_response signature

* Fix Agent cycle_budget usages

* Fix budget checking in BaseAgent.__next__

* Fix cycle budget initialization

* Fix function calling in BaseAgent.think()

* Include functions in token length calculation

* Fix Config errors

* Add debug thing to patched_api_requestor to investigate HTTP 400 errors

* If this works I'm gonna be sad

* Fix BaseAgent cycle budget logic and document attributes

* Document attributes on `Agent`

* Fix import issues between Agent and MessageHistory

* Improve typing

* Extract application code from the agent (#4982)

* Extract application code from the agent

* Wrap interaction loop in a function and call in benchmarks

* Forgot the important function call

* Add docstrings and inline comments to run loop

* Update typing and docstrings in agent

* Docstring formatting

* Separate prompt construction from on_before_think

* Use `self.default_cycle_instruction` in `Agent.think()`

* Fix formatting

* hot fix the SIGINT handler (#4997)

The signal handler in the autogpt/main.py doesn't work properly because
of the clean_input(...) func. This commit remedies this issue. The issue
is mentioned in
3966cdfd69 (r1264278776)

* Update the sigint handler to be smart enough to actually work (#4999)

* Update the sigint handler to be smart enough to actually work

* Update autogpt/main.py

Co-authored-by: Reinier van der Leer <github@pwuts.nl>

* Can still use context manager

* Merge in upstream

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>

* Fix CI

* Fix initial prompt construction

* off by one error

* allow exit/EXIT to shut down app

* Remove dead code

---------

Co-authored-by: collijk <collijk@uw.edu>
Co-authored-by: Cyrus <39694513+cyrus-hawk@users.noreply.github.com>
2023-07-20 17:34:49 +02:00
Vasek Mlejnsky 7c4fc45b4a
Add initial share logs page (#4965)
* Add initial share logs page

* Fix title sizes

* Update share_logs.md

Added some text for reasons to share logs

* Add section on how to share logs using e2b

* Fix path to images with sizes

* Fix paths to images in docs

* Fix formatting

* Fix formatting

* Fix grammar

* Make position in menu more prominent

* original log directory was incorrect

I took the directory from usage.md but that is incorrect

* Updated the directory for the logs

Updated the directory for the logs

* added some text

and made it pretty

---------

Co-authored-by: NeonN3mesis <129052650+NeonN3mesis@users.noreply.github.com>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-14 02:14:57 +02:00
Reinier van der Leer bde007e6f7
Use GPT-4 in Agent loop by default (#4899)
* Use GPT-4 as default smart LLM in Agent

* Rename (smart|fast)_llm_model to (smart|fast)_llm everywhere

* Fix test_config.py::test_initial_values

* Fix test_config.py::test_azure_config

* Fix Azure config backwards compatibility
2023-07-07 03:42:18 +02:00
kerta1n e0882955e3
Update docs to use `docker compose` v2 (#4471)
* Update setup.md

Change "docker-compose" command to "docker compose" to avoid future issues with running the Docker method (`docker-compose` is v1 and is outdated, is not a recognized command with newer versions of Docker engine)

* Update usage.md

* Update comment in docker-compose.yml

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-06 22:11:43 +02:00
merwanehamadi 4e3f832dc3
Remove config singleton (#4737) 2023-06-20 06:47:59 -07:00
merwanehamadi a7f805604c
Pass config everywhere in order to get rid of singleton (#4666)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-06-18 19:05:41 -07:00
merwanehamadi 10d7747ae2
Use JSON format for commands signature (#4714)
* Use JSON for command signature

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>

* Improve plugin backward compatibility (#4716)

* Fixed plugin test

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>

* Fix Docker-CI

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>

* Put back commands, clean typing and signatures

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>

---------

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Erik Peterson <e@eriklp.com>
Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
2023-06-17 08:39:17 -07:00
merwanehamadi 512d7ba208
Remove analyze_code (#4705)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Erik Peterson <e@eriklp.com>
2023-06-15 12:55:50 -07:00
Erik Peterson 49d1a5a17b
Rework plugin config to be file-based (#4673) 2023-06-13 20:54:55 -07:00
digger yu a7faab32fe
Fix typo in docs/setup.md (#4613)
fix typo: depedencies -> dependencies

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-06-12 01:17:48 +02:00
Erik Peterson fd04db12fa
Use prompt_toolkit to enable keyboard navigation in CLI (#4649)
* Use prompt_toolkit to enable keyboard navigation in CLI

* Also update other tests

---------

Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
2023-06-11 14:19:42 -07:00
Erik Peterson 5fe600af9d
Clean up and fix issues with env configuration and .env.template (#4630)
Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
2023-06-09 15:28:30 -07:00
javableu 474a9c4d95
False believes challenge based on sally anne test. (#4167)
* False believes challenge based on sally anne test.

* Update test_memory_challenge_d.py

* Update challenge_d.md

Some text appearing in bold

* Update test_memory_challenge_d.py

* Update test_memory_challenge_d.py

* Update test_memory_challenge_d.py

* Update test_memory_challenge_d.py

black  test_memory_challenge_d.py

* Update test_memory_challenge_d.py

replaced the dynamic time depending of the level to a fix time

* Update test_memory_challenge_d.py

isort command for the libraries

* Refactored memory challenge a

---------

Co-authored-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-06-09 15:02:41 -07:00
Reinier van der Leer dafbd11686
Rearrange tests & fix CI (#4596)
* Rearrange tests into unit/integration/challenge categories

* Fix linting + `tests.challenges` imports

* Fix obscured duplicate test in test_url_validation.py

* Move VCR conftest to tests.vcr

* Specify tests to run & their order (unit -> integration -> challenges) in CI

* Fail Docker CI when tests fail

* Fix import & linting errors in tests

* Fix `get_text_summary`

* Fix linting errors

* Clean up pytest args in CI

* Remove bogus tests from GoCodeo
2023-06-06 10:48:49 -07:00
Reinier van der Leer 15c157343d
Remove Redis memory configuration from docker-compose configs 2023-06-01 23:23:57 +02:00
merwanehamadi 87776b2886
Make the information retrieval challenge a harder while still passing (#4468) 2023-05-30 15:56:58 -07:00
merwanehamadi 6806b66509
Information retrieval challenge (#4456)
* test: add information retrieval challenge b

* test: get information retrieval challenge be working.

* chore: clean up comments and imports.

* chore: fix incorrect import

* chore: clean up imports.

* fix: add web_selenium cmd. resolve missing loop cycle

* chore: remove commented code and unused imports.

* fix (4261): use 2 cycles instead of 3

* chore: fix mypy formatting

* chore: try 2 for mypy formatting

* chore: resolve flake8 issues

* chore: add docs

* chore: resolve linting flake8

* chore: correct formatting to black

* Update challenge_b.md

* refactored challenge

---------

Co-authored-by: PortlandKyGuy <kyleaaron1@gmail.com>
2023-05-30 12:10:49 -07:00
Kinance 1ddf2324ff
Improve the steps for running docker compose in the setup documentation (#4462)
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
2023-05-29 19:24:38 +03:00
merwanehamadi 44f6d946f5
fix information retrieval challenge (#4448) 2023-05-27 18:26:30 -07:00
Kinance 4b7fa7f49d
Fix typo and links in documentation (#4440) 2023-05-27 10:52:38 +01:00
Reinier van der Leer bfbe613960
Vector memory revamp (part 1: refactoring) (#4208)
Additional changes:

* Improve typing

* Modularize message history memory & fix/refactor lots of things

* Fix summarization

* Move memory relevance calculation to MemoryItem & improve test

* Fix import warnings in web_selenium.py

* Remove `memory_add` ghost command

* Implement overlap in `split_text`

* Move memory tests into subdirectory

* Remove deprecated `get_ada_embedding()` and helpers

* Fix used token calculation in `chat_with_ai`

* Replace Message TypedDict by dataclass

* Fix AgentManager singleton issues in tests

---------

Co-authored-by: Auto-GPT-Bot <github-bot@agpt.co>
2023-05-25 20:31:11 +02:00
Nicholas Tindle cc709bbbaa
Improve Azure setup wording in docs (#4325)
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
2023-05-23 00:51:52 +03:00
k-boikov 360d5cd577
Prevent docker compose to break config by creating folders (#4125) 2023-05-22 13:36:20 +03:00
John Cole a6d4deaf20
Update setup.md (#3690)
Co-authored-by: Richard Beales <rich@richbeales.net>
2023-05-19 18:39:12 +01:00
DGdev91 42a5a0ce13
Make prompt parameters configurable (#3375)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
2023-05-17 20:12:10 +03:00
Boostrix 7c71b43d42
mention docker rebuild is necessary if changing requirements.txt (#4136)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-05-16 22:30:38 -05:00
Boostrix 1c96a5acf7
encourage people to use a separate user account w/o VM/docker (#3961)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: Nicholas Tindle <nicktindle@outlook.com>
2023-05-16 22:13:14 -05:00
Media 900de5fe63
Challenge: Kubernetes and documentation (#4121)
* challenge_kubes_and_readme

* docs

* testing

* black and isort

* revision

* lint

* comments

* blackisort

* docs

* docs

* deleting_cassette

* suggestions

* misspelling_errors

---------

Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
2023-05-13 12:21:21 -07:00
Boostrix 8f3119621c
document that docker-compose 1.29.0 is minimally required (#3963)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-05-10 01:01:45 -05:00
Itai Steinherz 5989c14577
Fix path to workspace directory in setup guide (#3927)
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-05-10 00:45:09 -05:00
Shlomi 980bbe2bc3
fix typo in the getting started docs (#3997)
Co-authored-by: Richard Beales <rich@richbeales.net>
2023-05-08 14:16:48 +01:00
minfeng-ai 23e1e1ed53
fix typos (#3998)
Co-authored-by: Minfeng Lu <minfenglu@Minfengs-MacBook-Pro.local>
Co-authored-by: Richard Beales <rich@richbeales.net>
2023-05-08 14:10:58 +01:00
Kaan d1327fd1c2
Improve & fix memory challenge docs. (#3989)
Co-authored-by: Kaan Osmanagaoglu <kaano@questps.com.au>
2023-05-07 19:03:58 -07:00
merwanehamadi baa7873ec1
memory challenge c inconsistent (#3985) 2023-05-07 20:16:26 -05:00
Douglas Schonholtz dc959596fc
Memory Challenge C (#3908)
* Memory Challenge C

* Working cassettes

* Doc fixes

* Linting and doc fix

* Updated cassette

* One more cassette try

---------

Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
2023-05-07 16:28:43 -07:00
merwanehamadi ca5abff93f
add information retrieval challenge to the wiki (#3876) 2023-05-06 17:48:08 +01:00
merwanehamadi 6d4bea3bb6
community challenges in the wiki (#3764) 2023-05-05 17:35:12 +01:00
Nicholas Tindle 911cea781f
Document Disabling command categories (#3669)
* feat: move task_complete command out of prompt

* fix: formatting fixes

* feat: add command disabling

* docs: document how to disable command categories
2023-05-03 19:14:07 -05:00
Peter Petermann 479c7468b4
Fix docker volume mounts (#3710)
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-05-02 18:08:15 -05:00