Releases: letta-ai/letta
0.3.9
This PR add Google AI Gemini Pro support for MemGPT, as well as Python 3.12 support.
Using MemGPT with Gemini
Setting up Gemini with MemGPT configure:
> memgpt configure
Loading config from /Users/loaner/.memgpt/config
? Select LLM inference provider: google_ai
? Enter your Google AI (Gemini) API key (see https://aistudio.google.com/app/a
pikey): *********
? Enter your Google AI (Gemini) service endpoint (see https://ai.google.dev/api/rest): generativelanguage
? Select default model: gemini-pro
Got context window 30720 for model gemini-pro (from Google API)
? Select your model's context window (see https://cloud.google.com/vertex-ai/generative-ai/docs/learn/model-versioning#gemini-model-versions): 30720
? Select embedding provider: openai
? Select default preset: memgpt_chat
? Select default persona: sam_pov
? Select default human: basic
? Select storage backend for archival data: chroma
? Select chroma backend: persistent
? Select storage backend for recall data: sqlite
📖 Saving config to /Users/loaner/.memgpt/config
What's Changed
- fix: Update test_server.py by @cpacker in #1218
- feat: add dev portal by @cpacker in #1191
- fix: upgrade
llama-index-embeddings-huggingface
package and fix bug with local embeddings by @sarahwooders in #1222 - fix: patch
/rethink
by @cpacker in #1227 - chore: upgrade dependencies and make package compatible with Python 3.12 by @sarahwooders in #1228
- fix: delete mapping between sources and agents if agent is deleted by @sarahwooders in #1229
- feat: REST API support for tool creation by @sarahwooders in #1219
- fix: patched pop by @cpacker in #1232
- fix: remove tools tests by @sarahwooders in #1236
- feat: add Google AI Gemini Pro support by @cpacker in #1209
- chore: bump version to 0.3.9 by @sarahwooders in #1238
Full Changelog: 0.3.8...0.3.9
0.3.8
This release introduces initial support for running a MemGPT server with Docker Compose, and bugfixes for storing embeddings and message timestamps.
What's Changed
- fix: fix broken example after modifying client to return pydantic objects by @sarahwooders in #1174
- feat: migrate all calls to
datetime.now()
todatetime.now(UTC)
by @cpacker in #1176 - fix: additions to utc patch (#1176) by @cpacker in #1177
- feat: add description to source by @sarahwooders in #1175
- fix: patch vllm/local endpoint model GET bug by @cpacker in #1179
- fix: update print statement on server by @cpacker in #1180
- feat: return
num_passages
inSource.metadata_
from REST list sources endpoint by @sarahwooders in #1178 - feat: create docker-image.yml by @sarahwooders in #1181
- feat: create memgpt server with postgres DB with
docker compose up
by @sarahwooders in #1183 - feat: client tests for
docker compose
server by @sarahwooders in #1189 - fix: patch out-of-sync / missing tzinfo timestamps coming back from API server by @cpacker in #1182
- feat: move quickstart to use inference.memgpt.ai by @sarahwooders in #1190
- feat: Add nested KV and doc QA experiment scripts for paper by @sarahwooders in #990
- feat: only use OpenAI for
tests.yaml
if env variable is set by @sarahwooders in #1196 - fix: fix env variable for postgres in
compose.yaml
by @sarahwooders in #1204 - feat: added groq support via local option w/ auth by @cpacker in #1203
- fix: duplicate passage across/within files causing issues in insert_many with postgres by @nikhil-pandey in #1205
- fix: skip empty string passages returned by llama index parsing by @sarahwooders in #1208
- fix: Handle list[str] in function schema(continuation) by @palandovalex in #1110
- chore: Update policies by @cpacker in #686
- fix: Update memgpt_chat.txt and remove all spelling and grammar errors. by @Maximilian-Winter in #1210
- fix: patch tests.yml by @cpacker in #1213
- fix: Fixing the last issue with memgpt_chat.txt by @Maximilian-Winter in #1214
- fix: fallback to
MemGPTConfig
URI for postgres if no environment variables by @sarahwooders in #1216 - chore: bump version to 0.3.8 by @sarahwooders in #1217
New Contributors
- @nikhil-pandey made their first contribution in #1205
- @palandovalex made their first contribution in #1110
Full Changelog: 0.3.7...0.3.8
0.3.7
🦂 Bugfix release
What's Changed
- feat: add example for google search custom function by @sarahwooders in #1133
- feat: add in-context message field ('in_context') to message dicts returned by
GET /api/agents/{a_id}/messages
by @cpacker in #1135 - docs: update connector documentation by @sarahwooders in #1136
- feat: enable tool selection via agent creation POST by @cpacker in #1137
- feat: add (dummy) create tool route by @cpacker in #1139
- feat: expose cursor based retrieval of previous messages by @goetzrobin in #1140
- fix: fix key typo when getting archival memory response by @goetzrobin in #1141
- fix: correct dummy tools api call response by @goetzrobin in #1142
- fix: patch agent creation bug that resurfaced by @cpacker in #1143
- fix: fix existing agent listing for CLI by @sarahwooders in #1146
- docs: Update api.md by @serkanh in #1158
- feat: implement remaining
Admin
routes in client and add tests by @sarahwooders in #1157 - fix: (1) refactor in
Agent.step()
to fix out-of-order timestamps, (2) bug fixes with usage ofpreset/human
vs filename values by @cpacker in #1145 - feat: during agent creation - create new presets in the DB if the preset had overrides by @cpacker in #1159
- feat: Allow timestamp in
send_message
POST by @cpacker in #1161 - fix: fix azure credential configuration by @xavieryao in #1152
- feat: add remaining Python client support for REST API routes + tests by @sarahwooders in #1160
- feat: return source metadata with
list sources
route by @cpacker in #1164 - feat: add google search example by @sarahwooders in #1167
- fix: write temporary file for REST upload file endpoint + return number added passages/documents by @sarahwooders in #1169
- feat: add
Preset
routes to API + patch fortool_call_id
max length OpenAI error by @cpacker in #1165 - feat: move
source_id
to path variable by @cpacker in #1171 - feat: return information on attached agents when getting list of sources from API by @cpacker in #1172
- chore: bump version to
0.3.7
by @cpacker in #1173
New Contributors
- @serkanh made their first contribution in #1158
- @xavieryao made their first contribution in #1152
Full Changelog: 0.3.6...0.3.7
0.3.6
🐜 bugfix release
What's Changed
- fix: patch API key GET error + allow empty body on create user POST by @cpacker in #1113
- fix: silence pydantic warning about protected namespace by @cpacker in #1116
- feat: add metadata to GET tools route by @cpacker in #1117
- feat: add archival memory GET, POST, DEL to REST API by @cpacker in #1119
- feat: Add data sources to REST API by @sarahwooders in #1118
- feat: pass message UUIDs during message streaming (POST SSE
send_message
) by @cpacker in #1120 - fix: small typing fixes by @cpacker in #1123
- fix: fix bugs for retrieving archival memory via REST API + tests by @sarahwooders in #1122
- feat: add a
last_run
field to the agent state model by @cpacker in #1124 - fix: patch bug where the contents of the persona/human files were not gett… by @cpacker in #1126
- feat: add memory data and tool data to list_agents function /
GET /api/agents
response by @cpacker in #1125 - feat: add list of sources (in dict format) to response object by @cpacker in #1128
- fix: patch messages route + unify all the api/agents API routes to use {agent_id} via path parameter by @cpacker in #1129
- fix: use bookworm version of python image to resolve sqllite/chroma i… by @goetzrobin in #1130
- feat: enable adding presets via the CLI by @sarahwooders in #1131
- fix: modify metadata presets functions by @sarahwooders in #1132
- feat: added
persona/human_name
fields toPreset
by @cpacker in #1134 - chore: bump version to
0.3.6
by @cpacker in #1114
Full Changelog: 0.3.5...0.3.6
0.3.5
🦗 Bugfix release
What's Changed
- fix: Pass empty list for functions==None by @sarahwooders in #983
- feat: Update REST API routes GET information for agents/humans/personas and store humans/personas in DB by @sarahwooders in #1074
- feat: return
server.server_llm_config
information for REST endpoint by @sarahwooders in #1083 - fix: patch AutoGen integration for
0.3.5
+ add AutoGen integration tests by @cpacker in #1081 - fix: huggingface embeddings dependency by @thefux in #1087
- feat: Add more tests to
test_metadata.py
by @sarahwooders in #1082 - ci: skip autogen test if no oai secret by @cpacker in #1095
- ci: patch embedding issue in tests by @cpacker in #1096
- feat: move agent_id from query param to path variable and remove unus… by @goetzrobin in #1094
- fix: return uuid stored in config by @goetzrobin in #1092
- feat: create humans personas by @goetzrobin in #1093
- feat: isolate test config from main config by @tombedor in #1063
- feat: one time pass of
autoflake
+ addautoflake
to dev extras by @cpacker in #1097 - fix: move to
TokenTextSplitter
for more reliable chunking by @sarahwooders in #1098 - chore: only install
llama-index-embeddings-huggingface
for extraslocal
by @sarahwooders in #1099 - chore: bump version to
0.3.5
by @cpacker in #1091 - fix: bug with storing embedding info in metadata store by @sarahwooders in #1101
- feat: add
GET
REST API route for listing tools by @cpacker in #1100
New Contributors
Full Changelog: 0.3.4...0.3.5
0.3.4
🐝 Bugfix release
What's Changed
- feat: refactor loading and attaching data sources, and upgrade to
llama-index==0.10.6
by @sarahwooders in #1016 - feat: minor updates to chatui by @cpacker in #1029
- fix: removed superfluous create_agent calls by @cpacker in #1000
- fix: Corrected response_model usage by @GlitchStorm in #1036
- fix: patch
/rewrite
by @cpacker in #1034 - feat: Create
RESTClient
andAdmin
client for interacting with server from python by @sarahwooders in #1033 - fix: Fix
memgpt benchmark
command by @sarahwooders in #1041 - docs: Update README.md by @cpacker in #1045
- feat: add dockerfile for memgpt server by @goetzrobin in #1049
- feat: Add data loading and attaching to server by @sarahwooders in #1051
- fix: Patch typo in base.py by @cpacker in #1050
- feat: allow admin to access all API routes & add back auth by @goetzrobin in #1047
- feat: add basic https support to
memgpt server
for development where https is needed by @cpacker in #1052 - feat: add auth to chatui by @goetzrobin in #1065
- docs: Update server process / API documentation landing page by @cpacker in #1067
- fix: set default, all 0 anon UUID by @tombedor in #1071
- fix: configure black by @tombedor in #1072
- fix: bug with loading directories by @sarahwooders in #1073
- feat: tests and bug fixes
AgentState.state
by @cpacker in #1058 - chore: bump version to 0.3.4 by @cpacker in #1075
New Contributors
- @GlitchStorm made their first contribution in #1036
Full Changelog: 0.3.3...0.3.4
0.3.3
Minor bugfix release
What's Changed
- feat: Partial support for OpenAI-compatible assistant API by @sarahwooders in #838
- fix: de-duplicate IDs before inserting into ChromaDB by @sarahwooders in #1001
- refactor: Add OpenAI assistants API endpoints to
memgpt server
by @sarahwooders in #1006 - docs: Update OpenAI assistants example to use
memgpt server
by @sarahwooders in #1012 - refactor: store presets in database via metadata store by @sarahwooders in #1013
- fix: decrease number of saves to MemGPTConfig by @tombedor in #943
- chore: remove
python-box
from deps by @cpacker in #1019 - feat: Add API keys to
memgpt server
REST API by @cpacker in #1014 - ci: run quickstart before memgpt server by @cpacker in #1021
- chore: bump version 0.3.3 by @sarahwooders in #1015
- feat: add password protection to
/admin
routes on server by @cpacker in #1025 - docs: cleanup API page by @cpacker in #1026
- ci: Update rdme-openapi.yml by @cpacker in #1027
Full Changelog: 0.3.2...0.3.3
0.3.2
🐞 Bugfix release
What's Changed
- fix: Automatically create
User
fromMemGPTConfig.anon_clientid
from client if does not exist by @sarahwooders in #981 - fix: various patches for Azure support + strip
Box
by @cpacker in #982 - fix: patch bug in verify first message + add
ChatCompletionRequest
models to the models dir by @cpacker in #985 - docs: Fix client README example by @sarahwooders in #984
- fix: only attempt to mount static files dir (for chatUI) if already generated by @cpacker in #991
- fix: allow multiple tools to be called by LLM and rewrite request by @cpacker in #992
- fix: patch bug in airo wrapper by @cpacker in #993
- fix: Chunk inserts into DB on CLI load by @sarahwooders in #994
- chore: bump to version 0.3.2 by @sarahwooders in #995
- fix: Modify chroma to use
collection.upsert
instead ofcollection.add
for inserts by @sarahwooders in #996
Full Changelog: 0.3.1...0.3.2
0.3.1
🐛 Bugfix release
🚧 What's Changed
- docs: small fix to docs by @haikyuu in #942
- fix: use
utf-8
encodings for all text files by @cpacker in #918 - fix: more instructive error for function loading by @tombedor in #945
- fix: set json loads strict to false by @tombedor in #946
- docs: Add roadmap link to readme by @cpacker in #962
- chore: Update bug_report.md to request
~/.memgpt/config
by @sarahwooders in #970 - fix: Fix Misplaced Else Statement and Correct If Condition Handling in set_config_with_dict() by @Luther-Sparks in #965
- fix: Allow
content
to beNone
forrole==tool
by @sarahwooders in #971 - fix: Remove document truncation for
memgpt load
by @sarahwooders in #978 - fix: Require
tool_calls
orcontent
to be set for assistant role by @sarahwooders in #976 - fix: patch mem lim exceeded by @cpacker in #977
- fix: Enhance CreateAgentDialog with Improved Error Handling and User Feedback by @arduenify in #932
- fix: Remove document truncation and replace DB inserts with upserts by @sarahwooders in #973
- chore: bump version to 0.3.1 by @sarahwooders in #979
👋 New Contributors
- @haikyuu made their first contribution in #942
- @Luther-Sparks made their first contribution in #965
✍️ Full Changelog: 0.3...0.3.1
0.3
This release is a major refactor of MemGPT which moves all agent, user, and system information into database storage. We implemented this refactor to enable people to run MemGPT has a hosted service that can support multiple users. You can still keep using MemGPT's CLI, but your data will be stored in local sqlite and chroma files (unless configured otherwise).
🚌 Migrating to 0.3
MemGPT will no longer be able to access existing agents and data sources unless they are migrated. You can migrate old agent state and and data sources contained in the ~/.memgpt/config
folder using the memgpt migrate
command.
> memgpt migrate
🌐 MemGPT Server
You can now run MemGPT as a service that can support multiple users. User authentication is coming soon which will make the server usable for production applications.
You can run the server with:
> memgpt server
INFO: Started server process [53568]
INFO: Waiting for application startup.
Writing out openapi.json file
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:8283 (Press CTRL+C to quit)
👋 New Contributors
- @ifsheldon made their first contribution in #780
- @tezer made their first contribution in #789
- @k0hacuu made their first contribution in #808
- @Maximilian-Winter made their first contribution in #796
- @robbyt made their first contribution in #843
Full Changelog: 0.2.11...0.3