Rough sketching out of a hello world using our refactored autogpt
library. See the tracking issue here: #4770.
# Run instructions
There are two client applications for Auto-GPT included.
## CLI Application
🌟 **This is the reference application I'm working with for now**
🌟
The first app is a straight CLI application. I have not done anything
yet to port all the friendly display stuff from the
`logger.typewriter_log` logic.
- [Entry
Point](https://github.com/Significant-Gravitas/Auto-GPT/blob/re-arch/hello-world/autogpt/core/runner/cli_app/cli.py)
- [Client
Application](https://github.com/Significant-Gravitas/Auto-GPT/blob/re-arch/hello-world/autogpt/core/runner/cli_app/main.py)
To run, you first need a settings file. Run
```
python REPOSITORY_ROOT/autogpt/core/runner/cli_app/cli.py make-settings
```
where `REPOSITORY_ROOT` is the root of the Auto-GPT repository on your machine. This will write a file called `default_agent_settings.yaml` with all the user-modifiable configuration keys to `~/auto-gpt/default_agent_settings.yml` and make the `auto-gpt` directory in your user directory if it doesn't exist). At a bare minimum, you'll need to set `openai.credentials.api_key` to your OpenAI API Key to run the model.
You can then run Auto-GPT with
```
python REPOSITORY_ROOT/autogpt/core/runner/cli_app/cli.py make-settings
```
to launch the interaction loop.
## CLI Web App
The second app is still a CLI, but it sets up a local webserver that the client application talks to rather than invoking calls to the Agent library code directly. This application is essentially a sketch at this point as the folks who were driving it have had less time (and likely not enough clarity) to proceed.
- [Entry Point](https://github.com/Significant-Gravitas/Auto-GPT/blob/re-arch/hello-world/autogpt/core/runner/cli_web_app/cli.py)
- [Client Application](https://github.com/Significant-Gravitas/Auto-GPT/blob/re-arch/hello-world/autogpt/core/runner/cli_web_app/client/client.py)
- [Server API](https://github.com/Significant-Gravitas/Auto-GPT/blob/re-arch/hello-world/autogpt/core/runner/cli_web_app/server/api.py)
To run, you still need to generate a default configuration. You can do
```
python REPOSITORY_ROOT/autogpt/core/runner/cli_web_app/cli.py
make-settings
```
It invokes the same command as the bare CLI app, so follow the instructions above about setting your API key.
To run, do
```
python REPOSITORY_ROOT/autogpt/core/runner/cli_web_app/cli.py client
```
This will launch a webserver and then start the client cli application to communicate with it.
⚠️ I am not actively developing this application. It is a very good place to get involved if you have web application design experience and are looking to get involved in the re-arch.
---------
Co-authored-by: David Wurtz <davidjwurtz@gmail.com>
Co-authored-by: Media <12145726+rihp@users.noreply.github.com>
Co-authored-by: Richard Beales <rich@richbeales.net>
Co-authored-by: Daryl Rodrigo <darylrodrigo@gmail.com>
Co-authored-by: Daryl Rodrigo <daryl@orkestro.com>
Co-authored-by: Swifty <craigswift13@gmail.com>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: Merwane Hamadi <merwanehamadi@gmail.com>
* feat: pass config to call_ai_functions in coimmands
* feat: config for read_audio_from_file
* feat: file operations cfg
NOTE: we replaced the CFG in the command enable with TRUE b/c not sure how to handle this yet
* feat: git command conversion
* feat: google search
* feat: image generation
* feat: extract cfg from browser commands
* feat: remove cfg from execute code commands
* fix: file operation related tests
* fix: linting
* fix: tests for read_audio
* fix: test error
* feat: update cassettes
* fix: linting
* fix: test typechecking
* fix: google_search errors if unexpected kw arg is passed
* fix: pass config param to google search test
* fix: agent commands were broken + cassettes
* fix: agent test
* feat: cassettes
* feat: enable/disable logic for commands
* fix: some commands threw errors
* feat: fix tests
* Add new cassettes
* Add new cassettes
* ci: trigger ci
* Update autogpt/commands/execute_code.py
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
* fix prompt
* fix prompt + rebase
* add config remove useless imports
* put back CFG just for download file
* lint
* The signature should be mandatory in the decorator
* black isort
* fix: remove the CFG
* fix: non typed arg
* lint: type some args
* lint: add types for libraries
* Add new cassettes
* fix: windows compatibility
* fix: add config access to decorator
* fix: remove twitter mention
* DDGS search works at 3.0.2 version
* ci: linting
---------
Co-authored-by: Auto-GPT-Bot <github-bot@agpt.co>
Co-authored-by: merwanehamadi <merwanehamadi@gmail.com>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
Co-authored-by: kinance <kinance@gmail.com>
* adding requiered packages for loading pdf, docx, md, tex files (preferably pure python packages)
* adding text file utils providing function to load file based on extension && adding read_text_file command
* adding test cases for text file loading (pdf file creation is hardcoded due to external package requierment for creation (a sample file can be added))
* formatting
* changing command name from 'read_text_file' to 'parse_text_document'
* fallback to txtParser if file extension is not known to read script and code files
* adding extension respective parsers
* adding binary file check function
* adding file existance check && raising valueError for unsupported binary file formats
* adding check file type (binary) in test_parsers for specific extensions && fixing mock pdf generation to include null bytes
* adding .yml extension parser
* removal of .doc parser
* updating file loading commands names
* updating test (removing .doc mock function)
* fix: import sort
* new cassette for mem A
* feat: update Cassettes
* feat: consolidate commands
* feat: linting
* feat: updates to cassettes
---------
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
* Fix docs
* Add short section about testing to contribution guide
* Add back note for voice configuration
* Remove LICENSE symlink from docs/
* Fix site_url in mkdocs.yml
* Initial Documentation re-org
* remove testing link from readme
* rewrite quickstart
* get code blocks working across mkdocs and github
* add link to plugins repo
* add link to plugins repo and move readme to plugin template repo
* Add emoji to "Extensibility with Plugins" in readme
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
* Make docs deploy workflow path-selective
* Also run workflow when the workflow is updated
* fix readme links under configuration subfolder
* shrink subheadings in readme
---------
Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
This file needs to be maintained parallel to requirements.txt, but
isn't, causes problems when new dependencies are introduced.
Instead, derive the Docker dependencies from the stock ones.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>