Skip to content

Python API

The main database class.

db = YantrikDB(db_path="memory.db", embedding_dim=384)
ParameterTypeDefaultDescription
db_pathstr"memory.db"Path to the database file
embedding_dimint384Embedding vector dimensions

Store a memory.

db.record(
"User likes Python",
importance=0.7, # 0.0-1.0
valence=0.3, # -1.0 to 1.0 (emotional)
memory_type="semantic", # episodic, semantic, procedural
domain="work",
source="user",
)

Retrieve memories using relevance-conditioned scoring.

results = db.recall(
"What programming languages?",
top_k=5,
memory_type="semantic", # optional filter
namespace="default", # optional filter
)

Returns a list of dicts with text, score, rid, importance, valence, etc.

Create a relationship in the cognitive graph.

db.relate("Pranab", "Walmart", "works_at", weight=0.9)

Run autonomous cognition: consolidation, conflict detection, pattern mining, triggers.

result = db.think(
importance_threshold=0.5,
run_consolidation=True,
run_conflict_scan=True,
run_pattern_mining=True,
)

Returns a dict with triggers, consolidation_count, conflicts_found, patterns_new, duration_ms.

Tombstone a memory by record ID.

db.forget("019d0a1b-...")

Get database statistics.

s = db.stats()
# s['active_memories'], s['edges'], s['entities'], etc.

List all entities in the cognitive graph.

List edges, optionally filtered by entity.

List all detected contradictions.

List all discovered behavioral patterns.

Set the embedding function.

from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")
db.set_embedder(lambda text: model.encode(text).tolist())