Skip to content

Memory Extraction

Memory extraction automatically identifies and stores important information from your conversations. Rather than requiring you to explicitly tell Iris what to remember, it analyzes your interactions and captures facts worth preserving.

How It Works

Extraction runs as a background job every N messages (default: 10):

  1. Analyzes recent conversation for memorable content
  2. Identifies facts worth preserving long-term
  3. Stores each memory with importance score and metadata

NOTE

Extraction runs via the queue worker. Make sure php artisan queue:work is running.

What Gets Extracted

Good candidates:

  • Personal details (name, location, family)
  • Preferences and opinions
  • Goals and aspirations
  • Skills and expertise
  • Important relationships
  • Significant events

Skipped:

  • Transient conversation context
  • Information already known
  • Trivial details
  • Duplicates

The system is selective - fewer high-quality memories beats many low-value ones.

Example

Given:

"I'm working on a Laravel project for a healthcare startup. We're building a patient portal that needs to be HIPAA compliant. I've been doing PHP for about 8 years now."

Iris might extract:

  • "Works at a healthcare startup building a patient portal" (fact, importance: 0.75)
  • "Has 8 years of PHP development experience" (skill, importance: 0.70)
  • "Working on HIPAA-compliant software" (context, importance: 0.65)

Configuration

SettingDefaultDescription
extraction.threshold10Messages between extractions
extraction.max_memories6Maximum memories per extraction
extraction.modelclaude-sonnet-4-5Model for analysis

WARNING

Higher max_memories limits may lead to lower-quality memories. The default encourages selectivity.