llm-based memory extraction and structuring
Automatically extracts and structures contextual memories from unstructured user interactions using LLM-powered analysis. The system sends conversation context to configurable LLM providers (OpenAI, Anthropic, Gemini) via a factory pattern, which parse interactions and extract key facts, preferences, and relationships. Extracted memories are then normalized and stored in vector embeddings for semantic retrieval, enabling the system to learn and retain user context across sessions without manual annotation.
Unique: Uses a pluggable LLM factory pattern supporting OpenAI, Anthropic, Gemini, and Ollama with configurable prompts, enabling users to choose extraction quality vs. cost tradeoff. The extraction pipeline integrates directly with vector storage backends (Qdrant, Pinecone, Weaviate, FAISS) via a unified factory system, avoiding vendor lock-in.
vs alternatives: More flexible than Pinecone's memory layer because it supports any LLM provider and vector store, and more cost-effective than proprietary memory services by allowing local embedding models and open-source vector databases.
multi-backend vector storage with semantic search
Provides unified vector storage abstraction supporting Qdrant, Pinecone, Weaviate, Azure Cognitive Search, Vertex AI Vector Search, and local FAISS via a factory-based provider pattern. Memories are stored as embeddings with metadata, enabling semantic similarity search across stored memories. The system handles embedding generation, vector indexing, and retrieval through a consistent API regardless of underlying storage backend, with configurable distance metrics and filtering.
Unique: Implements a factory-based provider pattern (VectorStoreFactory) supporting 7+ backends with unified configuration, allowing runtime backend switching without code changes. Integrates embedding generation directly into the storage layer, handling the full pipeline from text to indexed vectors.
vs alternatives: More portable than LangChain's vector store integrations because it's purpose-built for memory systems and includes built-in embedding orchestration; more flexible than single-vendor solutions like Pinecone because it supports local FAISS and open-source Qdrant.
python and typescript client sdks with consistent apis
Provides official client libraries for Python (MemoryClient, AsyncMemoryClient) and TypeScript (MemoryClient) with identical APIs, enabling developers to use the same memory operations across language ecosystems. Clients handle authentication, request serialization, error handling, and retry logic transparently. Both SDKs support local and remote memory backends, enabling seamless development-to-production transitions.
Unique: Provides officially maintained SDKs for Python and TypeScript with identical APIs, enabling code reuse patterns across language boundaries. Both SDKs support local and remote backends with transparent switching.
vs alternatives: More consistent than language-specific implementations because APIs are intentionally identical; more type-safe than REST clients because TypeScript and Python clients provide compile-time checking.
self-hosted deployment with docker and kubernetes support
Provides Docker containerization and Kubernetes manifests for self-hosted deployments of the full Jean Memory stack (backend API, MCP server, frontend UI). Deployment includes environment-based configuration for memory backends, LLM providers, and authentication. Kubernetes support enables horizontal scaling, automatic failover, and resource management for production deployments.
Unique: Provides production-ready Docker images and Kubernetes manifests for complete Jean Memory stack, including backend, MCP server, and frontend. Supports environment-based configuration for easy customization across deployments.
vs alternatives: More complete than raw source code because it includes containerization and orchestration; more flexible than managed services because it enables on-premises deployment and full infrastructure control.
conversation memory context injection for ai responses
Automatically retrieves relevant memories from the vector store based on current conversation context and injects them into the LLM prompt before generating responses. The system performs semantic search on the query, ranks results by relevance, and formats memories as context blocks in the system prompt. This enables AI models to provide personalized, contextually-aware responses without explicit memory management by the application.
Unique: Implements automatic memory retrieval and injection into LLM prompts, enabling transparent personalization without explicit application logic. Uses semantic search to find relevant memories and ranks them by relevance to current context.
vs alternatives: More seamless than manual memory loading because it's automatic; more intelligent than simple history concatenation because it uses semantic search to find relevant context rather than just recent messages.
memory deduplication and consolidation
Identifies semantically similar or duplicate memories using vector similarity and LLM-powered comparison, then consolidates them into single authoritative memories. The system runs periodic deduplication jobs that cluster similar memories, merge metadata, and update relationships. This prevents memory bloat from repeated extraction of the same facts and improves retrieval efficiency.
Unique: Implements automatic deduplication using vector similarity and LLM-powered semantic comparison, consolidating duplicate memories without manual intervention. Maintains audit trail of merge operations for traceability.
vs alternatives: More intelligent than simple hash-based deduplication because it catches semantic duplicates; more efficient than manual curation because it runs automatically as a background job.
async-first memory operations with batch processing
Provides AsyncMemoryClient for non-blocking memory operations and batch APIs for bulk memory creation, updates, and deletion. The system uses Python asyncio patterns to handle concurrent memory operations without blocking, enabling high-throughput scenarios. Batch endpoints accept arrays of memory objects and process them transactionally, reducing API overhead and enabling efficient bulk imports or synchronization across multiple AI agents.
Unique: Implements dual client interfaces (MemoryClient for sync, AsyncMemoryClient for async) with identical APIs, allowing developers to choose blocking or non-blocking patterns without code duplication. Batch endpoints are optimized for transactional consistency across multiple memory updates.
vs alternatives: More efficient than sequential API calls for bulk operations because batch endpoints reduce network round-trips; more developer-friendly than raw asyncio because it provides high-level async abstractions without requiring deep async knowledge.
graph-based memory relationships and reasoning
Implements MemoryGraph class that models memories as nodes in a knowledge graph with edges representing relationships (e.g., 'user prefers X', 'X is related to Y'). The system uses LLM-powered reasoning to infer relationships between extracted memories and stores them as graph edges, enabling multi-hop reasoning and contextual memory retrieval. Graph traversal can retrieve not just direct memories but related context, improving response relevance by understanding memory relationships.
Unique: Combines vector-based semantic search with graph-based relationship reasoning, allowing both similarity-based and relationship-based memory retrieval. Uses LLM-powered inference to automatically discover relationships rather than requiring manual annotation.
vs alternatives: More intelligent than flat vector search because it understands memory relationships; more flexible than fixed ontology systems because relationships are inferred dynamically from LLM reasoning.
+6 more capabilities