Documentation
Welcome to the Memory Service documentation. This guide will help you integrate persistent memory into your AI agents.
What is Memory Service?
Memory Service is a backend service designed to solve the persistent memory problem for AI agent systems. It stores all messages exchanged between agents, users, and LLMs in a structured, queryable format.
Key Capabilities
- Persistent conversation storage - All messages are stored with full context and metadata
- Resumable response streams - Long lived response streams can survive client reconnects or user device switching
- Conversation replay/audit - Reconstruct conversation history and agent memory state as it was at any point in time
- Conversation forking - Fork a conversation at any message to explore alternative paths
- Access control - User-based ownership and sharing with fine-grained permissions
- Multi-database support - Works with PostgreSQL, SQLite, and MongoDB; Redis and Infinispan for caching; PGVector and Qdrant for vector search
- Semantic & Fulltext Search - Search across all conversations using vector and/or Fulltext
- File Attachments - Durably store files attached to messages sent to your agent, or generated by your agent.
- Encrypted - All database/file storage data is encrypted while at rest
Architecture Overview

Memory Service is packaged as a container image and provides both REST and gRPC APIs. It also provides several client-side components to simplify integration with Quarkus LangChain4j and Spring AI applications. All the blue components in the diagram above are part of this project.
Scales With Your Needs
The diagram above shows a full production deployment, but Memory Service is designed to start small and grow with your requirements. You only bring in the infrastructure you actually need:
| Deployment | Data Store | Cache | Vector Search | File Storage |
|---|---|---|---|---|
| Local/light | SQLite | none | none | none |
| Local/full | SQLite | local | sqlite-vec | local disk |
| Single Node | PostgreSQL | local | pgvector | PostgreSQL (Lobs) |
| Multi Node | PostgreSQL | Redis | pgvector | Minio |
| Enterprise | PostgreSQL | Infinispan | Qdrant | S3 |
| Enterprise/NoSQL | MongoDB | Redis | Qdrant | MongoDB GridFS |
For local development or simple deployments, a single SQLite database is all you need — no external services required. Semantic search, caching, and distributed file storage are each opt-in, added only when your scale or requirements demand them.
Quick Navigation
Getting Started
Set up Memory Service in your project
Core Concepts
Understand conversations, messages, and forking
Quarkus Integration
Build persistent AI agents with Quarkus and LangChain4j
Spring Boot Integration
Build persistent AI agents with Spring Boot and Spring AI
Python Integration
Build persistent AI agents with Python, LangChain, and LangGraph
Configuration
Configure databases, vector stores, and more
Project Status
Memory Service is currently a proof of concept under active development. APIs may change as we refine the design based on real-world usage.
Getting Help
- GitHub Issues - Report bugs or request features on GitHub