[GH-ISSUE #1431] [feat]: Long-term-, short-term and episodic memory #51162

Closed
opened 2026-05-05 12:04:19 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @PriNova on GitHub (Apr 5, 2024).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/1431

Is your feature request related to a problem? Please describe.
No. It is related to a future improvement.

Describe the solution you'd like
As stated in the title, I like to have a reliable and concise memory for personalization.
Look at https://github.com/GoodAI They implemented this kind of solutions. Maybe this approach fits well here.

Originally created by @PriNova on GitHub (Apr 5, 2024). Original GitHub issue: https://github.com/open-webui/open-webui/issues/1431 **Is your feature request related to a problem? Please describe.** No. It is related to a future improvement. **Describe the solution you'd like** As stated in the title, I like to have a reliable and concise memory for personalization. Look at https://github.com/GoodAI They implemented this kind of solutions. Maybe this approach fits well here.
Author
Owner

@Arcitec commented on GitHub (May 19, 2024):

+1. GoodAI's memory looks like a nice library. The issues are that memory takes up context token slots, and also has to be manually triggered with as-short-as-possible memories of what's important to remember. So it's a whole mess of things to implement and tons of difficult considerations to avoid running out of tokens.

I see that they're using RAG though, so they probably take the input and automatically inject just the relevant memories for the latest prompt? I certainly hope so...

Here is a similar feature, which is much easier to implement. Only mentioning it since it's similar:

#2382

<!-- gh-comment-id:2119376952 --> @Arcitec commented on GitHub (May 19, 2024): +1. GoodAI's memory looks like a nice library. The issues are that memory takes up context token slots, and also has to be manually triggered with as-short-as-possible memories of what's important to remember. So it's a whole mess of things to implement and tons of difficult considerations to avoid running out of tokens. I see that they're using RAG though, so they probably take the input and automatically inject just the relevant memories for the latest prompt? I certainly hope so... Here is a similar feature, which is much easier to implement. Only mentioning it since it's similar: #2382
Author
Owner

@PriNova commented on GitHub (May 20, 2024):

@Arcitec GoodAI utilizes ChromaDB as the foundational embedding vector database to store crucial memories. The short-term memory is active during conversations, while a note-taking process preserves pertinent information across chat sessions, including personal details such as the user's name and family connections. Long-term memory holds information that needs to be retained over extended periods and is updated when it becomes outdated. The embeddings are categorized by the type of information and the memory to which they belong.

The GoodAI API could be enhanced. In my application, I have integrated the note-taking module and modified the prompt to encourage more agent-like behavior. So far, it has been successful.

Indeed, implementing it would require considerable effort, but I believe the investment is justified.

<!-- gh-comment-id:2119836814 --> @PriNova commented on GitHub (May 20, 2024): @Arcitec GoodAI utilizes ChromaDB as the foundational embedding vector database to store crucial memories. The short-term memory is active during conversations, while a note-taking process preserves pertinent information across chat sessions, including personal details such as the user's name and family connections. Long-term memory holds information that needs to be retained over extended periods and is updated when it becomes outdated. The embeddings are categorized by the type of information and the memory to which they belong. The GoodAI API could be enhanced. In my application, I have integrated the note-taking module and modified the prompt to encourage more agent-like behavior. So far, it has been successful. Indeed, implementing it would require considerable effort, but I believe the investment is justified.
Author
Owner

@nicikiefer commented on GitHub (Jul 20, 2024):

I stumbled upon this project which sounds like something that could be perfect for this usecase. Would it be possible to implement this into the core of the application or is it possible to implement this yourself using pipes as an alternative?

Adding this here in case it is helpful to enhance the current memory feature

https://github.com/mem0ai/mem0

<!-- gh-comment-id:2241046191 --> @nicikiefer commented on GitHub (Jul 20, 2024): I stumbled upon this project which sounds like something that could be perfect for this usecase. Would it be possible to implement this into the core of the application or is it possible to implement this yourself using pipes as an alternative? Adding this here in case it is helpful to enhance the current memory feature https://github.com/mem0ai/mem0
Author
Owner

@silentoplayz commented on GitHub (Dec 19, 2024):

Just commenting to make it known that this Pipeline exists, but I can't test it out myself. I only found it by stumbling across this thread and doing some scavenging myself. https://github.com/open-webui/pipelines/blob/main/examples/filters/mem0_memory_filter_pipeline.py

<!-- gh-comment-id:2552768156 --> @silentoplayz commented on GitHub (Dec 19, 2024): Just commenting to make it known that this Pipeline exists, but I can't test it out myself. I only found it by stumbling across this thread and doing some scavenging myself. https://github.com/open-webui/pipelines/blob/main/examples/filters/mem0_memory_filter_pipeline.py
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#51162