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/analyzeRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User to analyze |
window | string | No | Analysis time window (default: 7d). Supports 7d, 30d, 90d |
domains | string[] | No | Filter 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
| Field | Type | Description |
|---|---|---|
pattern_type | string | Category of pattern (e.g., memory_distribution, time_preference, topic_sequence) |
description | string | Human-readable explanation of the pattern |
confidence | float | Confidence score from 0.0 to 1.0 |
evidence_count | integer | Number of data points supporting this pattern |
metadata | object | Pattern-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
passError Responses
| Status | Description |
|---|---|
401 | Missing or invalid API key |
503 | Analysis service unavailable |
Next Steps
- PLRE Scoring — Understand how PLRE phases use pattern data
- Meta-Learning Overview — Full guide to the meta-learning system