Commit Graph

109 Commits

Author SHA1 Message Date
Charles Packer
ce0c3c92d1 feat: further simplify setup flow (#673)
* made quickstart to openai or memgpt the default option when the user doesn't have a config set

* modified formatting + message styles

* revised quickstart guides in docs to talk about quickstart command

* make message consistent

---------

Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2023-12-22 13:21:25 +04:00
Charles Packer
776a30e7dd feat: pull model list for openai-compatible endpoints (#630)
* allow entering custom model name when using openai/azure

* pull models from endpoint

* added/tested vllm and azure

* no print

* make red

* make the endpoint question give you an opportunity to enter your openai api key again in case you made a mitake / want to swap it out

* add cascading workflow for openai+azure model listings

* patched bug w/ azure listing
2023-12-21 23:27:48 -08:00
Charles Packer
1c38899b2e fix: CLI conveniences (add-on to #674) (#675)
* for openai, check for key and if missing allow user to pass it, for azure, throw error if the key isn't present

* correct prior checking of azure to be more strict, added similar checks at the embedding endpoint config stage

* forgot to override value in config before saving

* clean up the valuerrors from missing keys so that no stacktrace gets printed, make success text green to match others
2023-12-21 21:35:19 -08:00
Matheus
f22923d716 fix: Throw "env vars not set" early + enhance attach for KeyboardInterrupt (#669) (#674) 2023-12-21 20:47:34 -08:00
Charles Packer
46f686dfde fix: Patch openai error message + openai quickstart (#665)
* removed risky prints

* cleanup

* fix bug with openai quickstart, add extra visual indicators that quickstart worked

* changed message
2023-12-21 00:17:37 -08:00
Charles Packer
f532ffc41f feat: Add memgpt quickstart command (#641)
* Revert "Revert "nonfunctional 404 quickstart command w/ some other typo corrections""

This reverts commit 5dbdf31f1ce939843ff97e649554d8bc0556a834.

* Revert "Revert "added example config file""

This reverts commit 72a58f6de31f3ff71847bbaf083a91182469f9af.

* tested and working

* added and tested openai quickstart, added fallback if internet 404's to pull from local copy

* typo

* updated openai key input message to include html link

* renamed --type to --backend, added --latest flag which fetches from online default is to pull from local file

* fixed links
2023-12-20 00:00:40 -08:00
Max Blackmer
f7df7d6d78 [cpacker#319] run Black Reformat on files. 2023-12-19 15:09:08 -05:00
Charles Packer
f8b99b562f feat: Migrate docs (#646)
* updated docs for readme

* Update index.md

* Update index.md

* added header

* broken link

* sync heading sizes

* fix various broken rel links

* Update index.md

* added webp

* Update index.md

* strip mkdocs/rtk files

* replaced readthedocs references with readme
2023-12-18 20:29:24 -08:00
Max Blackmer
f054832a48 Merge branch 'feature/global-logging' of github.com:agiletechnologist/MemGPT into feature/global-logging 2023-12-18 16:55:23 -05:00
Max Blackmer
6cafa9ae97 [#319] Global Logging Configuration with directory fixes at config load. 2023-12-18 16:51:23 -05:00
cpacker
7f2edd8dd7 Revert "nonfunctional 404 quickstart command w/ some other typo corrections"
This reverts commit 22119cfb037c7d9379653006eafa03042eafcbe8.
2023-12-18 00:48:47 -08:00
cpacker
9c8ed92ad7 nonfunctional 404 quickstart command w/ some other typo corrections 2023-12-18 00:45:02 -08:00
Charles Packer
569bc7da31 feat: added memgpt folder command (#632)
* added memgpt folder command

* comments
2023-12-17 10:54:17 -08:00
Charles Packer
070c0123c6 migrate to using completions endpoint by default (#628)
* migrate to using completions endpoint by default

* added note about version to docs
2023-12-15 12:29:52 -08:00
Charles Packer
d51c61e91c allow passing custom host to uvicorn (#618) 2023-12-14 13:01:33 -08:00
Charles Packer
2048ba179b added memgpt server command (#611)
* added memgpt server command

* added the option to specify a port (rest default 8283, ws default 8282)

* fixed import in test

* added agent saving on shutdown

* added basic locking mechanism (assumes only one server.py is running at the same time)

* remove 'STOP' from buffer when converting to list for the non-streaming POST resposne

* removed duplicate on_event (redundant to lifespan)

* added GET agents/memory route

* added GET agent config

* added GET server config

* added PUT route for modifying agent core memory

* refactored to put server loop in separate function called via main
2023-12-13 00:41:40 -08:00
Charles Packer
b2e88da277 Patch azure embeddings + handle azure deployments properly (#594)
* Fix bug where embeddings endpoint was getting set to deployment, upgraded pinned llama-index to use new version that has azure endpoint

* updated documentation

* added memgpt example for openai

* change wording to match configure
2023-12-08 16:31:43 -08:00
Sarah Wooders
6a155dfc90 Chroma storage integration (#285) 2023-12-05 17:49:00 -08:00
Charles Packer
df999de4c1 use a consistent warning prefix across codebase (#569) 2023-12-04 11:38:51 -08:00
Charles Packer
b741b601fb Update AutoGen documentation and notebook example (#540)
* Update AutoGen documentation

* Update webui.md

* Update webui.md

* Update lmstudio.md

* Update lmstudio.md

* Update mkdocs.yml

* Update README.md

* Update README.md

* Update README.md

* Update autogen.md

* Update local_llm.md

* Update local_llm.md

* Update autogen.md

* Update autogen.md

* Update autogen.md

* refreshed the autogen examples + notebook (notebook is untested)

* unrelated patch of typo I noticed

* poetry remove pyautogen, then manually removed autogen extra in .toml

* add pdf dependency

---------

Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2023-11-30 17:45:04 -08:00
Sarah Wooders
2857ae1c81 Remove usage of BACKEND_TYPE (#539) 2023-11-30 14:18:25 -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
ed356dd82c Add support for HuggingFace Text Embedding Inference endpoint for embeddings (#524) 2023-11-27 16:28:49 -08:00
Sarah Wooders
fe6be5c3bd Add warning if no data sources loaded on /attach command (#513)
* minor fix

* add warn instead of error for no data sources
2023-11-27 13:00:23 -08:00
Charles Packer
7712a06ffd Fixes bugs with AutoGen implementation and exampes (#498)
* patched bugs in autogen agent example, updated autogen agent creation to follow agentconfig paradigm

* more fixes

* black

* fix bug in autoreply

* black

* pass default autoreply through to the memgpt autogen conversibleagent subclass so that it doesn't leave empty messages which can trigger errors in local llm backends like lmstudio
2023-11-21 19:15:28 -08:00
Charles Packer
de0ccea181 vLLM support (#492)
* init vllm (not tested), uses POST API not openai wrapper

* add to cli config list

* working vllm endpoint

* add model configuration for vllm

---------

Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2023-11-21 15:16:03 -08:00
Prashant Dixit
11e11bfac4 Lancedb storage integration (#455) 2023-11-17 11:36:30 -08:00
Charles Packer
576795ffdb move webui to new openai completions endpoint, but also provide existing functionality via webui-legacy backend (#468) 2023-11-15 23:08:30 -08:00
Sarah Wooders
f781d4426a Set service context for llama index in local.py (#462)
* mark depricated API section

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* 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

* remove asserts

* bump version

* set global context for llama index
2023-11-15 15:39:35 -08:00
Oliver Smith
a9b5a3d806 When default_mode_endpoint has a value, it needs to become model_endpoint. (#452)
Co-authored-by: Oliver Smith <oliver.smith@superevilmegacorp.com>
2023-11-15 01:18:23 -08:00
Charles Packer
f63419c78b Update documentation [local LLMs, presets] (#453)
* updated local llm documentation

* updated cli flags to be consistent with documentation

* added preset documentation

* update test to use new arg

* update test to use new arg
2023-11-15 01:02:57 -08:00
Wes
2597ff2eb8 Add load and load_and_attach functions to memgpt autogen agent. (#430)
* Add load and load_and_attach functions to memgpt autogen agent.

* Only recompute files if dataset does not exist.
2023-11-14 22:51:21 -08:00
Sarah Wooders
a23ba80ac8 Update config to include memgpt_version and re-run configuration for old versions on memgpt run (#450)
* mark depricated API section

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* 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

* remove asserts

* store config versions and force update in some cases
2023-11-14 22:50:24 -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
2d8c9f15a2 WebSocket interface and basic server.py process (#399) 2023-11-13 17:30:24 -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
Sarah Wooders
ecdefc661b [fix] remove asserts for OPENAI_API_BASE (#432)
* mark depricated API section

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* add readme

* 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

* remove asserts
2023-11-12 14:34:00 -08:00
Anjalee Sudasinghe
9a9d1e7937 fix memgptagent attach docs error (#427)
Co-authored-by: Anjalee Sudasinghe <anjalee@codegen.net>
2023-11-12 13:49:11 -08:00
Sarah Wooders
c55835f507 add errors to make sure envs set correctly (#418) 2023-11-10 12:45:32 -08:00
Sarah Wooders
551952083b Fix model configuration for when config.model == "local" previously (#415)
* fix agent load

* fix model config
2023-11-10 12:16:33 -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
Sarah Wooders
ecad9a45ad Use ~/.memgpt/config to set questionary defaults in memgpt configure + update tests to use specific config path (#389) 2023-11-09 14:01:11 -08:00
Sarah Wooders
5464cb8ace Replace memgpt run flags error with warning + remove custom embedding endpoint option + add agent create time (#364) 2023-11-09 09:10:17 -08:00
Sarah Wooders
cef4d8489d Add support for larger archival memory stores (#359) 2023-11-09 09:09:57 -08:00
Charles Packer
a4e9240316 add gpt-4-turbo (#349)
* add gpt-4-turbo

* add in another place

* change to 3.5 16k
2023-11-06 21:53:49 -08:00
Sarah Wooders
e07a7ac1ef Fix config tests (#343)
Co-authored-by: Vivian Fang <hi@vivi.sh>
2023-11-06 18:43:23 -08:00
Sarah Wooders
8700158222 Specify model inference and embedding endpoint separately (#286) 2023-11-06 17:19:45 -08:00