How it works
When you add data, Memory chunks the content into segments and embeds each chunk withazure/text-embedding-3-large. At query time it embeds the query with the same model, retrieves the most similar chunks, and reranks them so the most relevant come first.
Adding text entries
Useadd for structured records (tickets, notes, FAQ entries) that you can serialise to a string. Each call writes one entry. Re-adding with the same key overwrites the previous entry, so use it for idempotent writes.
Uploading files
upload ingests files end-to-end. Memory extracts text from PDFs, Word documents, plain text, and Markdown, then chunks and embeds them in the background.
cURL
id, storage key, original_filename, and a numeric document_id. List the knowledge base’s files to watch indexing progress:
cURL
status flips to indexed, the file’s chunks join the same query index as your add entries.
Querying
Querying is the core read path. Pass a natural-language string and Memory returns the chunks closest in meaning, ranked by relevance.metadata and a score:
The
key you supply to add lives at the entry level, but query returns one row per chunk. The id and key on each result are chunk identifiers, not your entry key. Put your own identifier in metadata (e.g. ticket_id) if you need it back.Filters
Narrow a query to chunks whose parent-entry metadata matches. Each filter is a{field, operation, value} triple; all filters AND together. A query with no matches returns an empty array.
Ground a generation on results
Query results plug straight into a call as context. This is the standard RAG flow: retrieve relevant chunks, then ground a structured generation on them.API surface
Inspecting knowledge bases
The Memory section in the platform lists every knowledge base in the project. Create, update, and delete bases there, and inspect what’s been indexed.