For AI Agents
Memory that always knows what's still true.
Bi-temporal memory for AI agents. Resolve contradictions, ask what was true on any past date. EU-hosted, your users in control.
# 1. Connect (reads KORELY_API_KEY from the env)
from korely_memory import Korely
korely = Korely()
# 2. Remember what your agent learns about a user
korely.add("Maria is on the Pro plan, billed yearly.", user_id="maria")
# 3. Later it changes, and Korely resolves the contradiction
korely.add("Maria downgraded to Free.", user_id="maria")
# 4. Pull a prompt-ready block, current truth only
ctx = korely.get_context(query="what plan is Maria on?", user_id="maria")
# ctx.context → "Maria is on the Free plan" (Pro invalidated, not deleted) // 1. Connect (reads KORELY_API_KEY from the env)
import { Korely } from "korely-memory";
const korely = new Korely();
// 2. Remember what your agent learns about a user
await korely.add("Maria is on the Pro plan, billed yearly.", { user_id: "maria" });
// 3. Later it changes, and Korely resolves the contradiction
await korely.add("Maria downgraded to Free.", { user_id: "maria" });
// 4. Pull a prompt-ready block, current truth only
const ctx = await korely.getContext({ query: "what plan is Maria on?", user_id: "maria" });
// ctx.context → "Maria is on the Free plan" (Pro invalidated, not deleted) # Install the CLI (it ships inside the Python package)
pip install korely-memory
# Remember, then recall — the same store as the SDK and REST
korely add "Maria downgraded to Free." --user-id maria
korely context "what plan is Maria on?" --user-id maria
# → "Maria is on the Free plan"
# Time-travel: what was true back in March?
korely facts --as-of 2026-03-01 --user-id maria # Remember (facts + graph extracted server-side)
curl -X POST https://api.korely.ai/v1/memories \
-H "Authorization: Bearer kor_live_..." \
-H "Content-Type: application/json" \
-d '{"content": "Maria downgraded to Free.", "user_id": "maria"}'
# Recall a prompt-ready block, current truth only
curl "https://api.korely.ai/v1/context?query=what+plan+is+Maria+on%3F&user_id=maria" \
-H "Authorization: Bearer kor_live_..." One key authenticates the SDK, CLI, and REST API. Get your key → · Read the docs →
Wire it into the stack you already use
Any agent that speaks REST, the SDK, or the CLI. All integrations →
Proof, not promises
Storing a fact is easy. Returning the current one is where memory breaks.
A fact changes; the question is whether your agent serves the new value or last month's. We measure that on LongMemEval, the public benchmark for long-term agent memory, and the two axes Korely is built to win are the two production agents fail most.
Per-axis profile on LongMemEval.
-
Knowledge update
Serve the value that's true now, not last month's.
-
Temporal reasoning
What's latest, and what was true before a date.
-
Single-session · user
Recall what the user just told you.
-
Single-session · preference
Carry preferences into the next turn.
-
Single-session · assistant
Remember what your agent committed to.
-
Multi-session
Connect facts across many past chats.
Open harness: same questions, same reader model, same neutral judge, only the memory layer changes. Every transcript is public to audit.
How it works
Your agent just chats. Korely keeps it on
what's true now.
Typed facts from plain conversation, contradictions resolved, recalled by any agent, the same store, across every session.
Why Korely
Memory your agent can trust.
Typed facts that resolve over time, so your agent answers from what is true now. The full history and the graph are one query away.
LongMemEval · 178 questions · equal token budget · statistically significant (p < 10⁻¹²) · public to rerun.
Typed facts, resolved over time, with a graph and an audit trail. One store, three surfaces, from $0.
What Korely does
One memory layer, every shape your agent needs
Semantic vector recall, a typed knowledge graph, and bi-temporal facts, in one store. REST, SDK, and CLI for any agent.
The memory
Memory model
Semantic vector recall over memories, a typed entity graph, and bi-temporal facts, in one store. Contradictions resolved on write.
Time + truth
Bi-temporal facts (valid_from / invalid_at). Point-in-time queries with as_of; contradictions invalidate, never delete.
Retrieval
Semantic vector search over stored memories, plus deterministic lookup of typed facts and entity relations. No model on the read path.
Where memories live
A managed cloud store (Postgres + pgvector), with EU data residency.
The integration
Agent integration
REST API, Python + Node SDK, and a CLI (it ships inside the Python package).
SDKs
Python and Node.js, plus REST from any language. The CLI installs with the Python package.
Hosting
EU-hosted on every tier. No overage billing, ever.
Pricing model
Flat, predictable pricing. Graph and temporal included in every paid tier.
Trust & control
Efficient by default. Transparent by design. Yours to control.
The primitives a regulated team needs, on every tier, not gated behind an enterprise call.
Efficiency
~66% fewer tokens than the full transcript.
Each turn, your agent sends a small block of current facts, not the whole transcript.
- Current truth only, prompt-ready get_context
- Savings grow as the conversation grows
- p95 < 50ms, no LLM on reads
≈ a third of the transcript is sent
Time travel
Ask what was true on any past date.
Every memory becomes a typed fact with its own validity window. When a value changes, the old one is kept, not overwritten, so you can replay your agent's knowledge as of any moment.
- Typed facts with valid_from and valid_to
- Changes supersede the old value, never overwrite it
- as_of returns the truth at any past date
Control
Ask to be forgotten, and you really are.
When a user invokes their right to erasure, one call wipes their whole memory from the store, with an audit trail to prove it. It was never baked into the model, so there is nothing left to unlearn.
- Right to erasure in one call (GDPR Art. 17)
- Every erasure is logged, so you can prove it
- Never trained on, never baked into the model
Use cases
Ten shapes of agent memory
One memory, scoped per agent. Each vertical ships with a code snippet you can copy.
Pricing
Flat, predictable pricing, with the graph included
Get started
Give your agent memory
that stays true.
Create your account and mint your first key, free to start. EU-hosted, no card required.