ChatGPT with a Redis-backed long-term memory, now archived
An early attempt to give ChatGPT persistent, searchable memory across sessions using vector embeddings and Redis.

What it does
Wraps the OpenAI API in a Python layer that stores conversation history in Redis as vector embeddings. When you start a new chat, it retrieves the most relevant past exchanges by semantic similarity and injects them into the prompt. A FastAPI server and Streamlit UI are included if you don’t want to use the terminal.
The interesting bit
The project treats memory as a retrieval problem, not a storage problem. It uses OpenAI’s embedding API to turn messages into vectors, then queries Redis for the top-k most similar past turns. This was a pragmatic hack around ChatGPT’s fixed context window—before OpenAI shipped their own retrieval plugin.
Key highlights
- Modular design: swap in your own datastore or embedding client if Redis/OpenAI aren’t your stack
MemoryManagerhandles the vector search plumbing so the chat client stays simple- Includes a working Streamlit UI (borrowed from MemoryBot) and FastAPI backend
- Development has discontinued; the README explicitly points to OpenAI’s official retrieval plugin instead
Caveats
- The project is archived; no further commits or maintenance
- “Infinite memory” is aspirational—the README doesn’t specify deduplication, memory decay, or cost controls for embedding storage
- Requires wiring together four separate client classes manually; the “simple usage” example is 40+ lines of boilerplate
Verdict
Worth a quick read if you’re building your own RAG-style memory layer and want to see a minimal Python implementation. Skip it if you need something production-ready; OpenAI’s plugin or any modern framework (LangChain, etc.) has superseded this.