ChatGPT-like automatic memory retrieval and storage for Open WebUI
Automatically identify, retrieve and store memories from user conversations in Open WebUI. This filter intelligently processes chat messages to extract meaningful information about users and stores it as memories for future reference.
This is a fork of davixk's/nokodo's work.
Auto Memory listens in on your conversations and detects facts, preferences, key moments, or anything useful for the assistant to remember about you. It stores these as separate memories, so future AI interactions stay personal and context-aware—without you micromanaging.
You get:
- Seamless journaling of your important info
- Smarter, context-rich AI assistance
- No more "please remember X" (unless you want to!)
- New or changed facts from User's latest message are saved.
- Explicit "please remember..." requests always create a Memory.
- Avoids duplicates & merges conflicts by keeping only the latest.
- Filters out ephemeral/trivial/short-term details.
- Go to Settings → Functions and add the contents of
memory.pyfile, save - Configure your AI model for memory identification:
- Set OpenAI API key to your OpenAI API key
- Set Model to
gpt-4o(default) - Leave OpenAI API URL as default (
https://api.openai.com)
- Pollinations: Set OpenAI API URL to
https://text.pollinations.ai/openai
- Set OpenAI API URL to
http://localhost:11434/v1 - Set OpenAI API key to
ollama - Set Model to one of the recommended models:
mistral:7b-instruct- Excellent instruction followingqwen2.5:7b- Good balance of performance and capabilityllama3.1:8b- Works but may need more specific prompting
- GGUF models
- Models without instruction tuning typically perform poorly
Note: Memory identification requires models that can follow complex instructions and output structured data. If using local models, ensure they're instruction-tuned variants.
User input: "I live in Central street 45 and I love sushi"
Stored memories:
- Location: "User lives in Central street 45"
- Preference: "User loves sushi"
User input: "Remember that my doctor's appointment is next Tuesday at 3pm"
Stored memory: "Doctor's appointment scheduled for next Tuesday at 2025-01-14 15:00:00"
Context retrieval: When user asks "What's my address?", the filter automatically retrieves and provides the stored location information.
