Skip to main content
Memories are the core data unit in OpenMemoryX. They represent pieces of information that your AI application wants to remember about users or contexts.

What is a Memory?

A memory consists of:
  • Content - The actual text content to remember
  • Project ID - Which project this memory belongs to
  • Metadata - Additional structured data (optional)
  • Cognitive Sector - AI-classified category (auto-assigned)
  • Importance Score - AI-calculated relevance (0-1)

Memory Structure

{
  "id": "mem_123abc",
  "content": "User prefers dark mode in all applications",
  "project_id": "default",
  "cognitive_sector": "semantic",
  "importance_score": 0.85,
  "metadata": {
    "source": "user_settings",
    "category": "preferences"
  },
  "created_at": "2026-02-13T10:00:00Z"
}

Cognitive Sectors

Every memory is automatically classified into one of five cognitive sectors:

Episodic

Specific events and experiencesExample: “User visited Paris in 2024”

Semantic

Facts and general knowledgeExample: “User prefers dark mode”

Procedural

Skills and how-to knowledgeExample: “User knows Python”

Emotional

Feelings and preferencesExample: “User enjoys sci-fi movies”

Reflective

Insights and summariesExample: “User values privacy”

Async Processing

Memories are processed asynchronously:
  1. Submit - Send memory content via API
  2. Queue - Memory enters processing queue
  3. AI Classification - AI determines sector and importance
  4. Vector Embedding - Create searchable vector representation
  5. Storage - Save to database and knowledge graph
This allows your application to continue without waiting for AI processing.

Best Practices

  • Keep content concise - 1-2 sentences per memory works best
  • Use consistent project IDs - Organize by application or user
  • Add relevant metadata - Helps with filtering and context
  • Don’t store PII - Avoid storing sensitive personal information