Commit Graph

73 Commits

Author SHA1 Message Date
Charles Packer
e7f42d1420 fix: patch AutoGen integration for 0.3.5 + add AutoGen integration tests (#1081) 2024-03-02 13:45:12 -08:00
Charles Packer
894cfcb0c5 feat: tests and bug fixes AgentState.state (#1058) 2024-02-29 20:51:31 -08:00
Sarah Wooders
4cdd9ee01f feat: refactor loading and attaching data sources, and upgrade to llama-index==0.10.6 (#1016) 2024-02-18 16:57:01 -08:00
Sarah Wooders
bf252b90f0 feat: Partial support for OpenAI-compatible assistant API (#838) 2024-02-13 16:09:20 -08:00
Charles Packer
decea1e18f fix: allow multiple tools to be called by LLM and rewrite request (#992) 2024-02-11 18:47:55 -08:00
tombedor
c8e8557c27 fix: set json loads strict to false (#946) 2024-01-31 15:50:08 -08:00
tombedor
ff692fe7ab fix: remove unused param in agent instantiation (#938) 2024-01-29 17:37:59 -08:00
Charles Packer
8b52b26c7d fix: patch tool_call bug in summarizer (#935) 2024-01-27 17:07:45 -08:00
Charles Packer
037cc16e32 refactor: fix typing errors (pyright) (#855) 2024-01-23 17:21:44 -08:00
Charles Packer
b425ec2c80 fix: out-of-order user message timestamp (#915) 2024-01-23 15:42:53 -08:00
Charles Packer
08d5fe8edd refactor: refactor MemGPT + AutoGen integration to work with MemGPT 0.2.12+ (DB release) (#905) 2024-01-22 17:49:48 -08:00
starsnatched
4c95b7bde3 feat: Benchmark Command: memgpt benchmark (#816)
Co-authored-by: Starlette <starlette@Starlettes-MacBook-Pro.local>
Co-authored-by: cpacker <packercharles@gmail.com>
2024-01-21 00:57:01 -08:00
Sarah Wooders
4039763de5 feat: Store embeddings padded to size 4096 to allow DB storage of varying size embeddings (#852)
Co-authored-by: cpacker <packercharles@gmail.com>
2024-01-19 16:03:13 -08:00
Charles Packer
da5a8cdbfe refactor: remove User LLM/embed. defaults, add credentials file, add authentication option for custom LLM backends (#835) 2024-01-18 16:11:35 -08:00
Maximilian Winter
74c0d9af9d feat: Support pydantic models as parameters to custom functions (#839)
Co-authored-by: cpacker <packercharles@gmail.com>
2024-01-17 17:21:00 -08:00
Charles Packer
c07746b097 refactor: Use Message types inside Agent state (agent.messages), enabling immediate tracking of Message objects (#836)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2024-01-17 17:02:56 -08:00
Maximilian Winter
0c787a11e0 feat: Added grammar generator for function calling. (#796)
Co-authored-by: Charles Packer <packercharles@gmail.com>
2024-01-16 15:34:04 -08:00
Sarah Wooders
f47e800982 feat: Add paginated memory queries (#825)
Co-authored-by: cpacker <packercharles@gmail.com>
2024-01-15 21:21:58 -08:00
ifsheldon
dd2f4fc873 fix: Turn off all ensure_ascii of json.dumps (#800) 2024-01-11 23:54:35 -08:00
Charles Packer
f045c3515c feat: add_function and remove_function commands (#784) 2024-01-10 23:19:14 -08:00
Tom Bedor
0c0f269453 feat: add_function and remove_function commands
Allows for dynamic editing of user defined functions.

Disallows removing functions that are defined by MemGPT itself.
2024-01-11 00:38:40 +00:00
Sarah Wooders
841d47c462 Remove usage of agent_config from agent.py 2024-01-09 11:22:39 -08:00
Sarah Wooders
54fa07da7a refactor!: Migrate users + agent information into storage connectors (#785)
Co-authored-by: cpacker <packercharles@gmail.com>
2024-01-08 15:59:49 -08:00
Charles Packer
97e8961528 fix: Update message schema / data type to match OAI tools style (#783)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2024-01-04 15:05:43 -08:00
Sarah Wooders
17506b7e90 Change Message data type to use tool format and create tool_call_id field 2024-01-03 18:03:11 -08:00
Sarah Wooders
77e72d18da Merge branch 'main' into cherry-pick-storage-refactor 2023-12-27 13:47:27 +04:00
Charles Packer
42e2a301eb fix: increase the func return char limit (#714)
* increase the funct return limit

* disable truncation for base search functions

* added stdout suppression to remove MockLLM warning
2023-12-27 01:33:30 -08:00
Sarah Wooders
3f8b9063a1 Run black formatter 2023-12-26 17:53:57 +04:00
Sarah Wooders
b64f3aca4b Support metadata table via storage connectors for data sources 2023-12-26 17:06:58 +04:00
Sarah Wooders
deb7f3c1e1 Enable loading local agents with refactored recall memory + update MemGPTConfig to default to sqlite + chroma 2023-12-26 17:06:56 +04:00
Sarah Wooders
8a3681297a Cleanup agent function linking 2023-12-26 17:05:26 +04:00
Sarah Wooders
223e196da8 Support recall and archival memory for postgres
working test
2023-12-26 17:05:24 +04:00
Charles Packer
4f23934e04 feat: Add new wrapper defaults (#656) 2023-12-21 17:05:38 +04:00
Charles Packer
27eb05e7e8 Add safeguard on tokens returned by functions (#576)
* swapping out hardcoded str for prefix (forgot to include in #569)

* add extra failout when the summarizer tries to run on a single message

* added function response validation code, currently will truncate responses based on character count

* added return type hints (functions/tools should either return strings or None)

* discuss function output length in custom function section

* made the truncation more informative
2023-12-13 21:57:50 -08:00
Charles Packer
0d8b95e2a7 AutoGen misc fixes (#603)
* don't add anything except for assistant messages to the global autogen message historoy

* properly format autogen messages when using local llms (allow naming to get passed through to the prompt formatter)

* add extra handling of autogen's name field in step()

* comments
2023-12-10 20:52:21 -08:00
Charles Packer
f2a2942c66 sort agents by directory-last-modified time (#574)
* sort agents by directory-last-modified time

* only save agent config when agent is saved

---------

Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2023-12-04 14:16:03 -08:00
Claudio Cambra
14fbfa1406 Fix crash from bad key access into response_message without function_call (#437)
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-12-04 13:58:36 -08:00
Charles Packer
df999de4c1 use a consistent warning prefix across codebase (#569) 2023-12-04 11:38:51 -08:00
Sarah Wooders
2d23370930 Removing dead code + legacy commands (#536) 2023-11-30 13:37:11 -08:00
Charles Packer
5e7676e133 Remove openai package and migrate to requests (#534) 2023-11-30 13:00:13 -08:00
Sarah Wooders
b05b09439f Add user field for vLLM endpoint (#531) 2023-11-29 12:30:42 -08:00
Charles Packer
f4a1455c24 Clean memory error messages (#523)
* Raise a custom keyerror instead of basic keyerror to clarify issue to LLM processor

* remove self value from error message passed to LLM processor

* simplify error message propogated to llm processor
2023-11-27 16:41:42 -08:00
Charles Packer
188236b457 add core memory char limits to text shown in core memory (#508)
* add core memory char limits to text shown in core memory

* include char limit in xml tag

* add flag to allow reverting to old version
2023-11-26 20:00:01 -08:00
Charles Packer
9989fd9a52 Fix #487 (summarize call uses OpenAI even with local LLM config) (#488)
* use new chatcompletion function that takes agent config inside of summarize

* patch issue with model now missing
2023-11-19 14:54:12 -08:00
cpacker
88cc33244a patch bad merge 2023-11-14 16:09:13 -08:00
Sarah Wooders
ec2bda4966 Refactor config + determine LLM via config.model_endpoint_type (#422)
* mark depricated API section

* CLI bug fixes for azure

* check azure before running

* Update README.md

* Update README.md

* bug fix with persona loading

* remove print

* make errors for cli flags more clear

* format

* fix imports

* fix imports

* add prints

* update lock

* update config fields

* cleanup config loading

* commit

* remove asserts

* refactor configure

* put into different functions

* add embedding default

* pass in config

* fixes

* allow overriding openai embedding endpoint

* black

* trying to patch tests (some circular import errors)

* update flags and docs

* patched support for local llms using endpoint and endpoint type passed via configs, not env vars

* missing files

* fix naming

* fix import

* fix two runtime errors

* patch ollama typo, move ollama model question pre-wrapper, modify question phrasing to include link to readthedocs, also have a default ollama model that has a tag included

* disable debug messages

* made error message for failed load more informative

* don't print dynamic linking function warning unless --debug

* updated tests to work with new cli workflow (disabled openai config test for now)

* added skips for tests when vars are missing

* update bad arg

* revise test to soft pass on empty string too

* don't run configure twice

* extend timeout (try to pass against nltk download)

* update defaults

* typo with endpoint type default

* patch runtime errors for when model is None

* catching another case of 'x in model' when model is None (preemptively)

* allow overrides to local llm related config params

* made model wrapper selection from a list vs raw input

* update test for select instead of input

* Fixed bug in endpoint when using local->openai selection, also added validation loop to manual endpoint entry

* updated error messages to be more informative with links to readthedocs

* add back gpt3.5-turbo

---------

Co-authored-by: cpacker <packercharles@gmail.com>
2023-11-14 15:58:19 -08:00
Charles Packer
442a0ca8bf always cast config.context_window to int before use (#444)
* always cast config.context_window to int before use

* extra code to be super safe if self.config.context_window is somehow None
2023-11-14 15:12:00 -08:00
Charles Packer
e5add4e430 Configurable presets to support easy extension of MemGPT's function set (#420)
* partial

* working schema builder, tested that it matches the hand-written schemas

* correct another schema diff

* refactor

* basic working test

* refactored preset creation to use yaml files

* added docstring-parser

* add code for dynamic function linking in agent loading

* pretty schema diff printer

* support pulling from ~/.memgpt/functions/*.py

* clean

* allow looking for system prompts in ~/.memgpt/system_prompts

* create ~/.memgpt/system_prompts if it doesn't exist

* pull presets from ~/.memgpt/presets in addition to examples folder

* add support for loading agent configs that have additional keys

---------

Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2023-11-13 10:43:28 -08:00
Charles Packer
dab47001a9 Fix max tokens constant (#374)
* stripped LLM_MAX_TOKENS constant, instead it's a dictionary, and context_window is set via the config (defaults to 8k)

* pass context window in the calls to local llm APIs

* safety check

* remove dead imports

* context_length -> context_window

* add default for agent.load

* in configure, ask for the model context window if not specified via dictionary

* fix default, also make message about OPENAI_API_BASE missing more informative

* make openai default embedding if openai is default llm

* make openai on top of list

* typo

* also make local the default for embeddings if you're using localllm instead of the locallm endpoint

* provide --context_window flag to memgpt run

* fix runtime error

* stray comments

* stray comment
2023-11-09 17:59:03 -08:00
Vivian Fang
11326ec24e Remove AsyncAgent and async from cli (#400)
* Remove AsyncAgent and async from cli

Refactor agent.py memory.py

Refactor interface.py

Refactor main.py

Refactor openai_tools.py

Refactor cli/cli.py

stray asyncs

save

make legacy embeddings not use async

Refactor presets

Remove deleted function from import

* remove stray prints

* typo

* another stray print

* patch test

---------

Co-authored-by: cpacker <packercharles@gmail.com>
2023-11-09 14:51:12 -08:00