Skip to main content

Choosing memory sources

Every search() call can selectively enable or disable each memory store. By default, all three are active.
Via the REST API you have explicit control:

Graph traversal depth

Control how many relationship hops the graph reasoner follows with max_hops. Higher values surface deeper connections but cost more latency.
max_hops above 3 significantly increases latency on large graphs. Use it only when explicitly needed for multi-hop reasoning. The hard ceiling is 5 hops.

Result count and score filtering

Via REST:

Contextual compression (LLM reranking)

Enable use_compression to have an LLM extract only the query-relevant portions of each retrieved document before returning them. This reduces context window usage at the cost of one extra LLM call.
Contextual compression requires OPENAI_API_KEY to be set on the server. It is disabled by default.

Session routing

When a session_id is provided, Atlas automatically:
  1. Reads the rolling topic vector from Redis (EMA of recent turn embeddings)
  2. Blends it with the query vector: q_blended = 0.6 · q_query + 0.4 · topic_vec
  3. Caches top-k results as hot facts for fast re-access in the same session
This means follow-up questions in the same session automatically favour topic-consistent memories without any extra configuration.

Filtering by persona

Pass persona in the request to restrict retrieval to a specific agent role. Memories stored under "shared" persona are always included.