Releases: letta-ai/letta
v0.3.13
🖥️ MemGPT Dev Portal (alpha build)
Please note the dev portal is in alpha and this is not an official release!
This adds support for viewing the dev portal when the MemGPT service is running. You can view the dev portal on memgpt.localhost
(if running with docker) or localhost:8283
(if running with memgpt server
).
Make sure you install MemGPT with pip install pymemgpt
and run memgpt quickstart [--backend openai]
or memgpt configure
before running the server.
There are two options to deploy the server:
Option 1: Run with docker compose
- Install and run docker
- Clone the repo:
git clone [email protected]:cpacker/MemGPT.git
- Run
docker compose up
- Go to
memgpt.localhost
in the browser to view the developer portal
Option 2: Run with the CLI:
- Run
memgpt server
- Go to
localhost:8283
in the browser to view the developer portal
What's Changed
- fix: hardcode MemGPT version in
config/server_config.yaml
by @sarahwooders in #1292 - feat: Add personal assistant demo code from meetup by @cpacker in #1294
- chore: better database errors by @cpacker in #1299
- ci: update workflows (add
autoflake
andisort
) by @cpacker in #1300 - fix: patch tests by @cpacker in #1304
- fix: patch
embedding_model
null issue in tests by @cpacker in #1305 - feat: update portal by @cpacker in #1306
- fix: refactor
create(..)
call to LLMs to not requireAgentState
by @sarahwooders in #1307 - feat: add testing for LLM + embedding endpoints by @sarahwooders in #1308
- docs: Documentation Typo in Storage URL by @sanegaming in #1298
- feat: code cleanup + make server password print green by @sarahwooders in #1312
- chore: fix README to reflect current project status by @sarahwooders in #1313
Full Changelog: 0.3.12...0.3.13
0.3.12
🐳 Cleaned up workflow for creating a MemGPT service with docker compose up
:
- Reverse proxy added so you can open the dev portal at
http://memgpt.localhost
- Docker development with
docker compose -f dev-compose.yaml up --build
(built from local code) - Postgres data mounted to
.pgdata
folder - OpenAI keys passed to server via environment variables (in
compose.yaml
)
🪲 Bugfixes for Groq API and server
What's Changed
- fix: Clean up and simplify docker entrypoint (#1235) by @norton120 in #1259
- fix: add DB prefill for default user, preset, humans, and persona for server by @sarahwooders in #1273
- feat: misc server updates by @cpacker in #1275
- feat: use background tasks for processing uploaded files to REST API by @sarahwooders in #1263
- fix: misc bugs by @cpacker in #1276
- chore: run autoflake + isort by @cpacker in #1279
- feat: disallow creation of tools with the same name by @sarahwooders in #1285
- feat: add workflow to build + test docker container by @sarahwooders in #1278
- fix: hardcoded stop tokens to patch Groq API's new 4 stop token limit for
/completions
by @cpacker in #1288
New Contributors
- @norton120 made their first contribution in #1235
Full Changelog: 0.3.11...0.3.12
0.3.11
🚰 We now support streaming in the CLI when using OpenAI (+ OpenAI proxy) endpoints! You can turn on streaming mode with memgpt run --stream
What's Changed
- fix: remove default persona/human from
memgpt configure
and add functionality for modifying humans/presets more clearly by @sarahwooders in #1253 - fix: update
ChatCompletionResponse
to makemodel
field optional by @sarahwooders in #1258 - fix: Fixed NameError: name 'attach' is not defined by @taddeusb90 in #1255
- fix: push/pull container from
memgpt/memgpt-server:latest
by @sarahwooders in #1267 - fix: remove message UTC validation temporarily to fix dev portal + add
-d
flag todocker compose up
for tests by @sarahwooders in #1268 - chore: bump version by @sarahwooders in #1269
- feat: add streaming support for OpenAI-compatible endpoints by @cpacker in #1262
New Contributors
- @taddeusb90 made their first contribution in #1255
Full Changelog: 0.3.10...0.3.11
0.3.10
We added support for Anthropic, Cohere, and Groq!
What's Changed
- feat: Anthropic Claude API support by @cpacker in #1239
- feat: add Cohere API support (Command-R+) by @cpacker in #1246
- fix: errors on getting default config values on fresh install by @sarahwooders in #1249
- fix: convert
Message
objects to dicts for local LLMs by @sarahwooders in #1251
Full Changelog: 0.3.9...0.3.10
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