Commit Graph

57 Commits (40a75c804ccfe7dec29dd8808ca5c52d0dc9e068)

Author SHA1 Message Date
Eddie Cohen 40a75c804c
Validate URLs in web commands before execution (#2616)
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-04-24 12:33:44 +02:00
coditamar ec71075bfe
Add tests for json_utils.json_fix_llm (#2952)
* config.py: make load_dotenv(override=True)

* Update Python version and benchmark file in benchmark.yml

* Refactor main function and imports in cli.py

* Update import statement in ai_config.py

* Add set_temperature and set_memory_backend methods in config.py

* Remove unused import in prompt.py

* Add goal oriented tasks workflow

* Added agent_utils to create agent

* added pytest and vcrpy

* added write file cassette

* created goal oriented task write file with cassettes to not pay openai tokens

* solve conflicts

* add ability set azure because github workflow needs it off

* solve conflicts in cli.py

* black because linter fails

* solve conflict

* setup github action to v3

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

* fix conflicts

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

* Plugins: debug line always printed in plugin load

* add test for fix_json_using_multiple_techniques

* style

* style

* mocking try_ai_fix to avoid call_ai_function

* black style

* mock try_ai_fix to avoid calling the AI model

* removed mock, as we can add @requires_api_key("OPEN_API_KEY")

* style

* reverse merge conflict related files and changes

* bring back the mock for try_ai_fix

---------

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Merwane Hamadi <merwane.hamadi@redica.com>
Co-authored-by: Richard Beales <rich@richbeales.net>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: BillSchumacher <34168009+BillSchumacher@users.noreply.github.com>
2023-04-23 16:29:40 -05:00
Vwing d6ef9d1b5d
Make Auto-GPT aware of its running cost (#762)
* Implemented running cost counter for chat completions

This data is known to the AI as additional system context, and is printed out to the user

* Added comments to api_manager.py

* Added user-defined API budget.

The user is now prompted if they want to give the AI a budget for API calls. If they enter nothing, there is no monetary limit, but if they define a budget then the AI will be told to shut down gracefully once it has come within 1 cent of its limit, and to shut down immediately once it has exceeded its limit. If a budget is defined, Auto-GPT is always aware of how much it was given and how much remains to be spent.

* Chat completion calls are now done through api_manager. Total running cost is printed.

* Implemented api budget setting and tracking

User can now configure a maximum api budget, and the AI is aware of that and its remaining budget. The AI is instructed to shut down when exceeding the budget.

* Update autogpt/api_manager.py

Change "per token" to "per 1000 tokens" in a comment on the api cost

Co-authored-by: Rob Luke <code@robertluke.net>

* Fixed lint errors

* Include embedding costs

* Add embedding completion cost

* lint

* Added 'requires_api_key' decorator to test_commands.py, switched to a valid chat completions model

* Refactor API manager, add debug mode, and add tests

- Extract model costs to  to avoid duplication
- Add debug mode parameter to ApiManager class
- Move debug mode configuration to
- Log AI response and budget messages in debug mode
- Implement 'test_api_manager.py'

* Fixed test_setup failing. An extra user input is needed for api budget

* Linting

---------

Co-authored-by: Rob Luke <code@robertluke.net>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
2023-04-23 16:04:31 -05:00
James Collins dcd6aa912b
Add workspace abstraction (#2982)
* Add workspace abstraction

* Remove old workspace implementation

* Extract path resolution to a helper function

* Add api key requirements to new tests
2023-04-23 14:36:04 -05:00
Richard Beales 9ed2a7a2d2
Add missing test decorator (#2989)
* Mark test test_generate_aiconfig_automatic_typical  as @requires_api_key("OPENAI_API_KEY")

* missing import

* add missing decorator
2023-04-23 09:17:18 +01:00
Richard Beales bb786461c7
Mark test test_generate_aiconfig_automatic_typical as @requires_api_… (#2981)
* Mark test test_generate_aiconfig_automatic_typical  as @requires_api_key("OPENAI_API_KEY")

* missing import
2023-04-23 07:35:17 +01:00
Toran Bruce Richards f462674e32
Automatic prompting (#2896)
* Add automatic ai prompting

* Tweak the default prompt.

* Print agent info upon creation.

* Improve system prompt

* Switch to fast_llm_model by default

* Add format output command to user prompt.

This vastly improves formatting success rate.

* Add fallback to manual mode if llm output cannot be parsed (or other error).

* Add unit test to cover ai creation setup.

* Replace redundent prompt with manual mode instructions.

* Add missing docstrings and typing.

* Runs black on changes.

* Runs isort

* Update Python version and benchmark file in benchmark.yml

* Refactor main function and imports in cli.py

* Update import statement in ai_config.py

* Add set_temperature and set_memory_backend methods in config.py

* Remove unused import in prompt.py

* Add goal oriented tasks workflow

* Added agent_utils to create agent

* added pytest and vcrpy

* added write file cassette

* created goal oriented task write file with cassettes to not pay openai tokens

* solve conflicts

* add ability set azure because github workflow needs it off

* solve conflicts in cli.py

* black because linter fails

* solve conflict

* setup github action to v3

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

* fix conflicts

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

* Plugins: debug line always printed in plugin load

* add decorator to tests

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

* move decorator higher up

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

* merge

---------

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Merwane Hamadi <merwanehamadi@gmail.com>
Co-authored-by: Merwane Hamadi <merwane.hamadi@redica.com>
Co-authored-by: Richard Beales <rich@richbeales.net>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: BillSchumacher <34168009+BillSchumacher@users.noreply.github.com>
2023-04-23 06:36:10 +01:00
riensen 8173e4d139 Fix: Mulitple plugins per zip for Auto-GPT-Plugins 2023-04-22 18:31:04 +02:00
Omri Grossman e09bbc43d4
Merge branch 'master' into tests/basic-spinner-tests 2023-04-22 09:24:25 +03:00
Steve 3ab67e746d
Add file op tests (#2205)
Co-authored-by: Steven Byerly <stevenbyerly@microsoft.com>
2023-04-22 04:17:38 +02:00
Omri Grossman e8aaba9ce2
Run pre commit manually to fix linting and sorting issues 2023-04-22 01:25:20 +03:00
Omri Grossman f3ac658dd0
Reorder imports 2023-04-22 01:18:03 +03:00
Omri Grossman 7c4921758c
Added basic spinner tests and modified spinner method docstring 2023-04-22 01:13:32 +03:00
riensen 9b78e71d16 Use allowlist and denylist naming 2023-04-20 19:01:09 +02:00
BillSchumacher d8fd834142
linting 2023-04-19 18:34:38 -05:00
BillSchumacher d876de0bef
Make tests a bit spicier and fix, maybe. 2023-04-19 18:32:49 -05:00
BillSchumacher 23c650ca10
Merge branch 'master' of https://github.com/BillSchumacher/Auto-GPT into plugin-support 2023-04-19 17:28:17 -05:00
BillSchumacher 4c7b582454
apply black 2023-04-18 19:09:15 -05:00
BillSchumacher 3f2d14f4d8
Fix isort? 2023-04-18 19:07:39 -05:00
BillSchumacher 86d3444fb8
isort, add proper skips. 2023-04-18 18:59:23 -05:00
Evgeny Vakhteev c62c8c6e71 merge BillSchumacher/plugin-support, conflicts 2023-04-18 13:13:38 -07:00
Evgeny Vakhteev 894026cdd4 reshaping code and fixing tests 2023-04-18 12:52:09 -07:00
Evgeny Vakhteev 9fd80a8660 tests, model 2023-04-17 20:51:27 -07:00
Evgeny Vakhteev 9ed5e0f1fc adding plugin interface instantiation 2023-04-17 17:13:53 -07:00
bingokon 31900f6733 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	autogpt/app.py
#	autogpt/json_fixes/auto_fix.py
#	autogpt/json_fixes/bracket_termination.py
#	autogpt/json_fixes/master_json_fix_method.py
#	autogpt/json_utils/json_fix_llm.py
#	autogpt/json_utils/utilities.py
2023-04-18 00:01:58 +01:00
Evgeny Vakhteev 7f4e38844f adding openai plugin loader 2023-04-17 14:57:55 -07:00
Merwane Hamadi cf9a94a8b6 isort implemented 2023-04-17 13:42:01 -07:00
Evgeny Vakhteev 08ad320d19 moving load plugins into plugins from main, adding tests 2023-04-17 09:33:01 -07:00
BingokoN 0d2e196368 refactoring/splitting the json fix functions into general module and llm module which need AI's assistance. 2023-04-17 12:14:43 +01:00
BillSchumacher 708374d95b
fix linting 2023-04-16 22:56:34 -05:00
BillSchumacher 03c137741a
Merge branch 'master' of https://github.com/BillSchumacher/Auto-GPT into plugin-support 2023-04-16 22:13:37 -05:00
BillSchumacher c110f3489d
Finish integrating command registry 2023-04-16 21:51:36 -05:00
bingokon 7a32e03bd5 refactoring the all json utilities 2023-04-17 00:48:53 +01:00
0xArty 627533bed6
minimall add pytest (#1859)
* minimall add pytest

* updated docs and pytest command

* proveted milvus integration test running if milvus is not installed
2023-04-16 21:55:53 +01:00
BillSchumacher 0d1fd4fcf0
Merge branch 'master' of https://github.com/Significant-Gravitas/Auto-GPT into pr/1436 2023-04-16 01:32:18 -05:00
Richard Beales f048f88337
Merge pull request #1700 from OmriGM/tests/chat-tests
Added tests for `create_chat_message` and `generate_context` methods of the chat module
2023-04-16 07:16:04 +01:00
Itamar Friedman 5a8700060e fixing tests to fit latest merges into master 2023-04-15 23:19:50 +01:00
Omri Grossman 5495d6c0d3
Removed redundant test 2023-04-16 00:09:33 +03:00
Omri Grossman 167d1be130
Moved test_chat to /unit 2023-04-15 23:40:03 +03:00
Gershon Bialer 6a3fcda751 Merge remote-tracking branch 'origin/master' into fix_agents 2023-04-15 10:04:15 -07:00
BillSchumacher 1073954fb7
Reorg (#1537)
* Pi's message.

* Fix most everything.

* Blacked

* Add Typing, Docstrings everywhere, organize the code a bit.

* Black

* fix import

* Update message, dedupe.

* Increase backoff time.

* bump up retries
2023-04-15 13:56:23 +01:00
Gershon Bialer 9990b78702 Fix linter issues. 2023-04-14 22:44:42 -07:00
Gershon Bialer 2644bc86db list_agents should return string not JSON 2023-04-14 21:42:54 -07:00
Gershon Bialer 0b4f0f5622 Add unit test for testing adding a gent 2023-04-14 21:34:28 -07:00
0xArty 328ba5e69e formatting 2023-04-14 20:42:28 +01:00
Merwane Hamadi 9b56ebe5c4 removed json_tests.py test_that_apologies_containing_multiple_json_get_the_correct_one because it breaks 2023-04-14 11:55:18 -07:00
Dino Hensen d64f866bfa Convert to python module named autogpt.
Also fixed the Dockerfile.
Converting to module makes development easier.
Fixes coverage script in CI and test imports.
2023-04-14 10:27:41 -07:00
Drikus Roor d1ea6cf002 lint: Fix all E302 linting errors 2023-04-13 10:50:51 +02:00
Drikus Roor 4afd0a3714 lint: Fix E231 flake8 linting errors 2023-04-13 10:50:27 +02:00
Itamar Friedman 3e53e976a5 flake8 style 2023-04-13 00:06:23 +03:00