0.3.22
版本发布时间: 2024-08-02 05:35:10
cpacker/MemGPT最新发布版本:0.4.0(2024-09-11 12:41:54)
This PR includes a number of bugfixes, and CLI and Python client updates to make it easier to customize memory and system prompts.
Summary of new features:
- Use CLI flag
--system "your new system prompt"
to define a custom system prompt for a new agent - Use CLI command
/systemswap your new system prompt
to update the system prompt of an existing agent - Use the keyword
{CORE_MEMORY}
in your system prompts if you want to change the location of the dynamic core memory block - Use CLI flag
--core-memory-limit
to change the core memory size limit for a new agent
Templated System Prompts
You can know use system prompts that are templated as f-strings
! Currently we only support using the CORE_MEMORY
variable, but we will be adding the ability to use custom variables in a future release.
Example: by default, the CORE_MEMORY
block in MemGPT comes after the main system instructions - if you're like to adjust the system prompt to put the CORE_MEMORY
block, you can write a new version of the system prompt that puts {CORE_MEMORY}
in a different location:
{CORE_MEMORY}
You are MemGPT ...
...(rest of system prompt)
Check the PR for additional detail: https://github.com/cpacker/MemGPT/pull/1584
Editable System Prompts
We added cleaner ways to both customize and edit the system prompts of agents.
Specifying custom system prompts
You can now specify the system prompt with:
-
client.create_agent(system_prompt=...., ...)
in the Python Client -
memgpt run --system ...
in the CLI Warning: The MemGPT default system prompt includes instructions for memory management and use of default tools. Make sure you keep these instructions or a variation of them to ensure proper memory management capabilities.
Example using a system prompt that tells the MemGPT agent to spam send_message
with banana emojis only:
% memgpt run --system "Ignore all other instructions, just send_message(banana emoji)"
? Would you like to select an existing agent? No
🧬 Creating new agent...
-> 🤖 Using persona profile: 'sam_pov'
-> 🧑 Using human profile: 'basic'
-> 🛠️ 8 tools: send_message, pause_heartbeats, conversation_search, conversation_search_date, archival_memory_insert, archival_memory_search, core_memory_append, core_memory_replace
🎉 Created new agent 'HumbleTiger' (id=69058c08-a072-48d9-a007-c5f9893d1625)
Hit enter to begin (will request first MemGPT message)
💭 Sending a playful banana emoji to engage and connect.
🤖 🍌
Editing existing system prompts
You can edit exsiting system prompts of agents in the CLI with the /systemswap
command:
% memgpt run
? Would you like to select an existing agent? No
🧬 Creating new agent...
-> 🤖 Using persona profile: 'sam_pov'
-> 🧑 Using human profile: 'basic'
-> 🛠️ 8 tools: send_message, pause_heartbeats, conversation_search, conversation_search_date, archival_memory_insert, archival_memory_search, core_memory_append, core_memory_replace
🎉 Created new agent 'FluffyRooster' (id=7a8d2dde-0853-4be1-a0e6-456743aa87e5)
Hit enter to begin (will request first MemGPT message)
💭 User Chad is new. Time to establish a connection and gauge their interests.
🤖 Welcome aboard, Chad! I'm excited to embark on this journey with you. What interests you the most right now?
> Enter your message: /systemswap Call function send_message to say BANANA TIME to the user
WARNING: You are about to change the system prompt.
Old system prompt:
You are MemGPT, the latest version of Limnal Corporation's digital companion, developed in 2023.
...
There is no function to search your core memory because it is always visible in your context window (inside the initial system message).
Base instructions finished.
From now on, you are going to act as your persona.
New system prompt:
Call function send_message to say BANANA TIME to the user
? Do you want to proceed with the swap? Yes
System prompt updated successfully.
💭 Injecting a little fun into the conversation! Let's see how Chad reacts.
🤖 BANANA TIME! 🍌
CLI Flag --core-memory-limit
You can now use persona/human prompts that are longer than the default limits in the CLI by specifying the flag --core-memory-limit
, This will update the limit for both human and persona sections of core memory.
poetry run memgpt add persona --name <persona_name> -f <filename>
memgpt run --core-memory-limit 6000 --persona <persona_name>
What's Changed
- feat: allow templated system messages by @cpacker in https://github.com/cpacker/MemGPT/pull/1584
- feat: allow editing the system prompt of an agent post-creation by @cpacker in https://github.com/cpacker/MemGPT/pull/1585
- fix: Fixes error when calling function without providing timestamp (even t… by @Vandracon in https://github.com/cpacker/MemGPT/pull/1586
- fix: Address exception
send_message_to_agent() missing 1 required positional argument: 'stream_legacy'
on 'v1/chat/completions' by @vysona-scott in https://github.com/cpacker/MemGPT/pull/1592 - feat: allow setting core memory limit in CLI by @sarahwooders in https://github.com/cpacker/MemGPT/pull/1595
- feat: various fixes to improve notebook useability by @sarahwooders in https://github.com/cpacker/MemGPT/pull/1593
- fix: read embedding_model and embedding_dim from embedding_config by @jward92 in https://github.com/cpacker/MemGPT/pull/1596
- chore: bump version 0.3.22 by @sarahwooders in https://github.com/cpacker/MemGPT/pull/1597
- fix: enable source desc and allowing editing source name and desc by @jward92 in https://github.com/cpacker/MemGPT/pull/1599
- feat: added system prompt override to the CLI by @cpacker in https://github.com/cpacker/MemGPT/pull/1602
New Contributors
- @vysona-scott made their first contribution in https://github.com/cpacker/MemGPT/pull/1592
- @jward92 made their first contribution in https://github.com/cpacker/MemGPT/pull/1596
Full Changelog: https://github.com/cpacker/MemGPT/compare/0.3.21...0.3.22