Commit Graph

606 Commits

Author SHA1 Message Date
Reinier van der Leer
2eb346e06e Improve prompting and prompt generation infrastructure (#5076)
* Clean up prompt generation

* Rename Performance Evaluations to Best Practices
* Move specification of response format from system prompt to Agent.construct_base_prompt
* Clean up PromptGenerator class

* Add debug logging to AIConfig autogeneration

* Clarify prompting and add support for multiple thought processes to Agent
2023-07-29 10:06:47 -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
ce86a5e697 Fix workspace crash 2023-07-27 00:28:55 +02:00
Reinier van der Leer
ddb7efa593 Move misplaced log_cycle statements 2023-07-25 18:08:50 +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
Merwane Hamadi
b6d9c3ab03 Remove delete file
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-07-24 10:15:25 -07:00
Tomas Valenta
abed282db3 Fix runtime error in the API (#5047)
* Add API via agent-protocol

* Fix linter formatting errors

* Fix API runtime errors; Improve API initialization

* Fix formatting linter erorrs
2023-07-24 08:34:24 -07:00
merwanehamadi
60d0f5edac Fix workspace crashing (#5041)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-07-23 21:28:12 -07:00
Tomas Valenta
7b4cd8c86a Add API via agent-protocol SDK (#5044)
* Add API via agent-protocol

* Fix linter formatting errors
2023-07-23 20:57:47 -07:00
eyalk11
295473551f Gracefully handle plugin loading failure (#4994)
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-22 01:42:41 -04:00
James Collins
669e66a1e7 Move all application code to an application subpackage (#5026)
* Move all application code to an application subpackage

* Remove main.py
2023-07-21 12:01:32 -07:00
Cyrus
12d126339e fix the forgotten + symbol in parse_ability_result(...) in parser.py (#5028)
Co-authored-by: James Collins <collijk@uw.edu>
2023-07-21 11:47:21 -07: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
James Collins
8503e961d8 Bugfix/bad null byte (#5033)
* Remove bad null byte

* Also don't try to block url null bytes
2023-07-21 09:09:14 -07:00
James Collins
98c3f6b781 Bugfix/remove breakpoint from embedding function (#5022)
* Add links to github issues in the README and clarify run instructions

* Remove breakpoint from embedding function
2023-07-20 09:24:14 -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
Reinier van der Leer
08a1e22973 Merge release v0.4.5 back into master (#5020) 2023-07-20 17:03:52 +02:00
ph-ausseil
307644a8c5 runner.cli parsers set as a library (#5021)
* INIT 1/2

* INIT 2/2

* LINT

---------

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-20 07:42:39 -07:00
Reinier van der Leer
0c94bb5f25 Fix configuring TTS engine (#5005) 2023-07-18 13:34:52 -07:00
Sohrab Saran
a758acef2c Fix execute_python_file workspace mount & Windows path formatting (#4996)
* fix for #4975

* Add TODO based on code comment.

* Use builtin `Path.as_posix()`

* Remove TODO

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-17 20:24:47 +02:00
Reinier van der Leer
515742ee61 Fix loading the plugins config (#5000) 2023-07-17 19:11:55 +02:00
Lei Zhang
5ae044f53d Integrate plugin.handle_text_embedding hook (#2804)
* add feature custom text embedding in plugin

* black code format

* _get_embedding_with_plugin()

* Fix docstring & type hint

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-15 03:10:32 +02:00
ido777
c821b294c6 Fix orjson encoding text with UTF-8 surrogates (#3666)
* added lib ftfy (fixes text for you), to solve surrogates errors

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-15 00:23:59 +02:00
GECORegulatory
376ecf0c5f Replaced Fictitious color name Fore.ORANGE (#4972)
Changed Colorama.Fore.ORANGE to YELLOW in config.py, As Colorama does not support an ORANGE color. This fixes a fatal error in run.sh when trying to set the API key through the input() method.

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-14 09:24:49 -07:00
Antonov Maxim
ed12b2c7d6 Allow absolute paths when not restricting to workspace root (#4946)
* restrict_to_root fix

* Fix formatting

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-13 19:21:25 +02:00
James Collins
c9adedf746 Refactor/rename agent subpackage to agents (#4961)
* Add links to github issues in the README and clarify run instructions

* Rename agent subpackage to agents

* Revert all unwanted changes

* Use relative import in `agents/__init__.py`

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-13 07:31:49 -07:00
James Collins
4177c37b51 Refactor/move functions in app to agent (#4957)
* Add links to github issues in the README and clarify run instructions

* Move things only used by the agent out of app.py and into the agent module

* Fix busted dynamic import
2023-07-12 19:36:00 -07:00
James Collins
077e143cc2 Documentation/collate rearch notes (#4958)
* Add links to github issues in the README and clarify run instructions

* Added a new doc in the core package with architecture notes.
2023-07-12 18:38:48 -07:00
James Collins
3582ada3df Add links to github issues in the README and clarify run instructions (#4954) 2023-07-12 10:21:20 -07:00
Reinier van der Leer
e746a45158 Merge branch 'master' into release-v0.4.4 2023-07-11 23:51:48 +02:00
Reinier van der Leer
5e39dd1d26 Speed up CI (#4930)
* Match requests in cassette by hash

* Strip requests more extensively for VCR

* Sort JSON keys on cassette save

* Strip max_tokens from cassettes

* Improve logging in retry decorator

* Raise when quota exceeded

* Clean up @retry_api

* Fix @retry_api

* Remove dead tests/vcr/openai_filter.py

* Add debug logging to execute_python_file

* Make Docker CI pass
2023-07-10 17:26:13 +02:00
James Collins
9adcad8b8a Fix regression: restore api_base and organization configurability (#4933) 2023-07-10 04:32:04 +02:00
Reinier van der Leer
c562fbf4bc Move path argument sanitization for commands to a decorator (#4918)
* Move path argument sanitization for commands to a decorator

* Fix tests

* Add `@functools.wraps` to `@sanitize_path_arg` decorator

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

---------

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-09 12:40:56 -07:00
Reinier van der Leer
050c52a008 Fix CommandRegistry state initialization 2023-07-09 20:32:59 +02:00
Reinier van der Leer
51d8b43fbf Improve token counting; account for functions (#4919)
* Improvements to token counting, including functions
---------

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-09 11:31:18 -07:00
Reinier van der Leer
e8b6676b22 Restructure logs.py into a module; include log_cycle (#4921)
* Consolidate all logging stuff into one module

* Merge import statement for `logs` and `logs.log_cycle`

---------

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-09 20:14:25 +02:00
Reinier van der Leer
1e756ed5f1 Fix type of Config.plugins as AutoGPTPluginTemplate (#4924)
Co-authored-by: James Collins <collijk@uw.edu>
2023-07-09 11:04:52 -07:00
Reinier van der Leer
1e1eff70bc Rebase MessageHistory on ChatSequence (#4922)
* Rebase `MessageHistory` on `ChatSequence`

* Process feedback & make mypy happy

---------

Co-authored-by: James Collins <collijk@uw.edu>
2023-07-09 19:52:59 +02:00
James Collins
89c1f2d0c0 Remove dead agent manager (#4900)
* Remove dead agent manager

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-08 23:50:12 +02:00
James Collins
f6da992b3e Drop AbstractSingleton as a parent class of the vector memory (#4901)
* Drop AbstractSingleton as a parent class of the vector memory

* Forgot pytest fixture in integration tests

* Revert typo
2023-07-08 09:27:43 -07:00
James Collins
59f353ae06 Organize the configuration args (#4913)
* Organize the configuration args

* Remove duplication in setting config defaults

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-08 08:56:45 -07:00
Reinier van der Leer
6735b8155c Merge branch 'release-v0.4.4' into inter/master-to-release-v0.4.4 2023-07-08 17:56:43 +02:00
lengweiping1983
8b8b3a2cdd Improve command system; add aliases for commands (#2635)
* Command name supports multiple names

* Separate CommandRegistry.commands and .command_aliases

* Update test_commands.py

* Add __contains__ operator to CommandRegistry

* Update error message for unknown commands

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-08 17:29:55 +02:00
James Collins
8bce02736b Fix bugs running the core cli-app (#4905)
Co-authored-by: Luke <2609441+lc0rp@users.noreply.github.com>
2023-07-07 22:51:01 -04:00
James Collins
57315bddfb Bugfix/broken azure config (#4912) 2023-07-07 22:42:26 -04:00
sagarishere
9a2a9f7439 Add docstring to function get_memory() in autogpt.memory.vector (#1296)
* Document function get_memory in ./scripts/memory/init.py

* Update get_memory docstring to current format

---------

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-07 07:39:36 +02:00
Reinier van der Leer
16787b32e5 Sync stable into release-v0.4.4 (#4907) 2023-07-07 07:01:06 +02:00
Venkat Teja
0f538f6e2c Fix summarize_text usages and self-calls (#4863)
* Fix summarize_text function usage

* Update memory_item.py
2023-07-07 06:56:29 +02:00
Reinier van der Leer
35b072f7e8 Fix PLAIN_OUTPUT for normal execution (#4904) 2023-07-07 06:53:44 +02:00
Ian
3b7e1014f6 Fix --gpt3only and --gpt4only for Azure (#4098)
* Fix --gpt3only and --gpt4only

* Fix and consolidate test_config.py::test_azure_config (x2)

---------

Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: Ryan <eimu.gray@gmail.com>
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
2023-07-07 06:08:47 +02:00