Project Analysis: MemGPT
MemGPT is a system designed for generating chatbots with self-editing memory capabilities. In its broad scope, it supports integration with SQL databases and local files, proven both effective locally and on Discord. Although support for GPT-3.5 is present, it's still experimental and may be riddled with bugs. Certain roadmap items, such as MemGPT open models release and CLI UI improvements, still awaits completion. The user community is actively discussing various features and potential issues –most notably, an enhancement request for local LLMs like Ollama and issues with larger personas exceeding memory limits.
Issue Overview
There are currently 18 open issues with a range of problems yet to be addressed. Standouts among the open issues are those that suggest triplication with different applications and LLM providers, problem relating to an agent stuck in a perpetual 'motivational' state, and requests for co-editing between MemGPT and users. Closed issues, for the most part, consist of resolved bugs, completed tasks, and implemented feature requests with no apparent recurrent problem.
Pull Requests
A few pull requests aim to extend the software's capabilities, such as adding support for models like Bedrock, Ollama, and Hugging Face using LiteLLM. Some typos and corrections are part of open PRs to improve readability, and there's an effort to enhance the project's README. Regarding closed PRs, a noticeable trend of inadequate descriptions leaves room for confusion about whether, or why, changes were rejected or accepted.
Road Ahead
Key tasks on the horizon include finishing support for GPT-3.5, realizing the MemGPT open models release, making UI improvements on the CLI, and supporting other LLM backends. Observations point to the necessity of more detailed PR descriptions and an address of active issues, particularly those stuck in motivational states and exceeding memory limits.
Detailed Reports
Report on issues
Open Issues Summary
Actively Discussed:
Issue #18 [Feature Request] Support for local LLMs like Ollama
- Many users are requesting support for local LLMs, particularly the use of Mistral 7B and LM Studio's local API server.
- cpacker states that they are working on this feature, which involves pointing MemGPT at the user's hosted LLM backend.
- A possible solution suggested by user molander is to use LocalAI, an open-source LLM.
- Some users suggest integrating with other libraries like litellm and gpt-llama.cpp.
Issue #7 Persona Exceeding memory
- A user reported an issue where extensive personas resulted in a ValueError due to exceeding the 2000 character limit.
- cpacker suggests modifying the constants for larger personas but warns of potential drawbacks.
- Some useful workarounds have been shared by user tomsib2001.
Issue #6 This is a brilliant idea
- The idea suggested in this issue is about managing vectors and the possibility of using local models, which received positive feedback from other users.
- User rabbabansh expresses interest in helping to integrate liteLLM into MemGPT for compatibility with other LLMs.
Notable Open Issues:
Issue #81 Agent seems to be getting stuck in a perpetual 'motivational' state
- A user reports that the agent appears to be stuck in a motivational state, impacting its functionality.
Issues #62 Integration with Aider, #61 Integration with open interpreter, #57 integration flowiseai and #12 New LLM Integration
- Users suggest integrating with various applications and LLM providers for enhanced features and capabilities.
Issue #51 Speed improvement, add doc library (OneDrive), Internet access and local LLMs
- The user suggests improvements in speed, addition of a document library (OneDrive), provision for internet access, and use of local LLMs.
Issue #26 Allow MemGPTs to read/write from a file(s)
- Feature request to allow MemGPT and users to co-edit a document together.
General Information:
- There are 18 open issues with a variety of reported problems, TODOs, uncertainties, and anomalies.
- The closed issues mostly include feature requests, solved bugs, and completed tasks. Latest closed issues do not indicate any recurrent problems. Some of the features requested in open issues (like local LLMs support and document co-editing) relate to the closed issues.
Note: Mentioning issue numbers for cross-referencing purposes. Current open issues: [#88, #87, #81, #62, #61, #60, #57, #56, #55, #51, #44, #32, #26, #18, #12, #11, #7, #6].
Report on pull requests
Open Pull Requests:
- #86: This PR seeks to add support for various models (Bedrock, Ollama, Palm, Claude-2, Cohere, Replicate Llama2, CodeLlama, Hugging Face) using LiteLLM. It represents a significant extension to the software’s capabilities.
- #80: The proposed changes introduce a SECURITY.md file, an unclear change since this PR is still at its testing stage in Linux.
- #74: A typo correction in memgpt_agent.py file, changing 'support' to 'supports' and 'accomadate' to 'accommodate'.
- #73: A PR for introducing punctuation, without any specific file(s) or text clarified.
- #37: This PR aims to update and enhance the ReadME, adding a header image, table of contents and an architecture section.
Closed Pull Requests:
- #29: This previously open PR on embedding generation was closed without merge. Notable as there's no description why it was rejected.
- #26: Closed PR titled 'autosave on /exit', however no details available about whether it was merged or closed without action.
- #20: 'azure support' has been closed, unclear if it has been merged or not.
- #15: A PR for adding 'pdf support' has been closed.
- #13: Notably, 'Passable gpt-3.5-turbo support' was closed. No additional information provided.
- #9: Addition of a Dockerfile for running main.py from Docker has been closed.
- #7: This PR 'Add csv support for preloading files into archival memory' has been successfully closed.
- #5: Updates to 'main.py' recently closed.
- #3: A PR to 'Clean up requirements.txt' was closed.
- #1: The first PR on the project, 'Example SQL integration with MemGPT' appears to have been closed.
Report on README
MemGPT
MemGPT is a system that allows for the creation of perpetual chatbots with self-editing memory capabilities. It intelligently manages varying memory tiers in Language Models to provide extensive context. It supports integration with SQL databases and local files, making it a handy tool for interacting with your data. MemGPT can be run both locally and on Discord.
- Quick setup: Users can try the MemGPT chatbot on Discord. More detailed setup instructions including API keys and commands are provided.
- Memory-GPT: Describes the system's ability to manage memory tiers.
- Running MemGPT locally: Comes with a step-by-step installation guide. Windows users require an additional step.
- To run the MemGPT as a conversation agent, simply run
main.py
. There are special instructions for users who are using Azure OpenAI.
- GPT-3.5 support: Using GPT-3.5 as the underlying model is labeled as experimental, with a note to report any bugs encountered.
main.py
flags: Provides a list of different flags available for use with the command mentioned above.
- Interactive CLI commands: Details all the commands available for use in Command Line Interface mode.
- Examples: Includes illustrative examples such as talking to SQL databases through MemGPT, loading local files into archival memory, and talking to LlamaIndex API Docs.
- Support: Points users to Discord and GitHub for queries or issues.
- Datasets: Links to datasets used in the project paper, available on Hugging Face.
- Roadmap: Displays a checklist of developments, with several items marked as complete, and others yet to be addressed.
Uncertainties/anomalies:
- Support for GPT-3.5 is marked as experimental and is said to be bug-prone.
- Roadmap items for MemGPT open models release and CLI UI improvements aren't completed.
TODOs:
- Testing and finishing support for GPT-3.5.
- Implementation of MemGPT open models release, CLI UI improvements, and support for other LLM backends.