Smritea

How Smritea stores memory

What happens to the text you send to add. Smritea extracts facts, skips filler, merges duplicates and stores memories.

Ask AI about this page

When you call add, Smritea turns your text into memories. A memory is one stored fact. How many memories one call creates depends on your app's storage engine.

The storage engine decides how text becomes memories

You choose the storage engine when you create the app. You cannot change it after the app has memories.

Quick Search appDeep Search app
Splits text into separate factsNoYes
Memories per add callOne, holding your text as sentZero or more, one per fact
Skips text with nothing to rememberNoYes
Builds entities and relationshipsNoYes
FitsHigh-volume apps that need lower costApps that need richer recall

A Quick Search app stores your content as sent. It runs no language model on add.

The extraction steps

A Deep Search app runs the text through these steps.

text -> extract facts -> merge or skip duplicates -> store -> build entities
  1. Find facts. A language model splits the text into short, separate facts. Each fact can carry a date, tags and an importance score. When the text names a person, Smritea writes the fact about that person in the third person.
  2. Check for duplicates. Smritea compares each fact with the memories you already have. Each fact gets one of three verdicts: new, same or update.
  3. Store. New facts become new memories. Smritea skips a same fact. An update fact merges into the existing memory.
  4. Build entities. After the call returns, Smritea finds the people, places and other entities in new memories. It links them in a knowledge graph for your app. This step runs in the background and covers new memories only.

When a call stores nothing

A call can succeed and store nothing. These are the cases.

CaseWhat you see
The text holds no fact worth keeping, such as a greetingmemories is empty and explicit_skip is true.
Every fact matches a memory you already havememories is empty and skipped_count is above zero.
A fact refines an existing memoryThe merged memory appears in memories, and updated_count is above zero.

None of these cases is an error. Each call still uses one memory credit. See Limits, quotas and credits.

The add result

The add call returns a result object. The table lists its fields.

FieldMeaning
memoriesThe memories the call created or updated. Each has an ID, the content, the scope, metadata and dates.
facts_extractedThe number of facts the language model found. A Quick Search app always reports zero.
skipped_countThe number of facts skipped as duplicates.
updated_countThe number of existing memories the call updated.
explicit_skipTrue when nothing was worth storing.

Field names use snake case here. Your SDK uses the casing of its language. See your SDK reference.

Last updated on