CerebeCerebe Docs

Analyze Patterns

Analyze learning patterns for a user across sessions and time windows.

Analyze Patterns

Analyze a user's learning patterns over a specified time window. The system examines stored memories and interaction data to detect recurring patterns, preferences, and learning behaviors.

Endpoint

POST /api/v1/meta-learning/analyze

Request Body

ParameterTypeRequiredDescription
user_idstringYesUser to analyze
windowstringNoAnalysis time window (default: 7d). Supports 7d, 30d, 90d
domainsstring[]NoFilter analysis to specific domains

Examples

from cerebe import AsyncCerebe

client = AsyncCerebe(api_key="ck_live_...")

analysis = await client.meta_learning.analyze(
    user_id="user_123",
    window="30d",
    domains=["math", "science"],
)

print(f"Total interactions: {analysis.total_interactions}")
print(f"Patterns found: {len(analysis.patterns)}")

for pattern in analysis.patterns:
    print(f"\n{pattern.pattern_type}: {pattern.description}")
    print(f"  Confidence: {pattern.confidence}")
    print(f"  Evidence: {pattern.evidence_count} data points")
import Cerebe from '@cerebe/sdk'

const client = new Cerebe({ apiKey: 'ck_live_...' })

const analysis = await client.metaLearning.analyze({
  userId: 'user_123',
  window: '30d',
  domains: ['math', 'science'],
})

console.log(`Total interactions: ${analysis.totalInteractions}`)
console.log(`Patterns found: ${analysis.patterns.length}`)

for (const pattern of analysis.patterns) {
  console.log(`\n${pattern.patternType}: ${pattern.description}`)
  console.log(`  Confidence: ${pattern.confidence}`)
  console.log(`  Evidence: ${pattern.evidenceCount} data points`)
}
curl -X POST https://api.cerebe.ai/api/v1/meta-learning/analyze \
  -H "X-API-Key: ck_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "user_123",
    "window": "30d",
    "domains": ["math", "science"]
  }'

Response

{
  "user_id": "user_123",
  "patterns": [
    {
      "pattern_type": "memory_distribution",
      "description": "User has 15 episodic memories",
      "confidence": 0.95,
      "evidence_count": 15,
      "metadata": {"memory_type": "episodic"}
    },
    {
      "pattern_type": "memory_distribution",
      "description": "User has 8 semantic memories",
      "confidence": 0.9,
      "evidence_count": 8,
      "metadata": {"memory_type": "semantic"}
    }
  ],
  "total_interactions": 23,
  "window": "30d",
  "analyzed_at": "2025-03-07T14:30:00Z"
}

Pattern Object

FieldTypeDescription
pattern_typestringCategory of pattern (e.g., memory_distribution, time_preference, topic_sequence)
descriptionstringHuman-readable explanation of the pattern
confidencefloatConfidence score from 0.0 to 1.0
evidence_countintegerNumber of data points supporting this pattern
metadataobjectPattern-specific details

Using Analysis Results

Pattern analysis results can be used to personalize learning experiences:

analysis = await client.meta_learning.analyze(user_id="user_123", window="30d")

# Use patterns to customize next session
for pattern in analysis.patterns:
    if pattern.pattern_type == "memory_distribution":
        # Adjust content type mix based on memory distribution
        pass
    elif pattern.pattern_type == "modality_preference":
        # Prefer visual content if user responds better to it
        pass

Error Responses

StatusDescription
401Missing or invalid API key
503Analysis service unavailable

Next Steps

On this page