Memory
hm_ingest
Pull simple facts and relationships out of a block of text
hm_ingest takes a block of text and writes the facts it can read from it directly: sentences such as “the checkout service uses Redis”, “the platform team builds the API”, “billing depends on Stripe” or “Alice works on Phoenix” become nodes and the relationships between them. Text with no such sentences is stored as one fact node.
It is fast, deterministic and doesn’t call a language model.
Choosing the right tool
| You have | Use |
|---|---|
| One fact, decision or preference | hm_store — you write the description and relationships yourself, and background enrichment adds the rest. |
| A document, transcript or long notes | hm_upload_file — the document pipeline extracts entities and relationships with the extraction lens you choose. |
| Short text full of “X uses / builds / depends on / works on Y” statements | hm_ingest |
Parameters
| Parameter | Type | Description |
|---|---|---|
text | string | Required. Up to 50,000 characters. |
context | string | A short label for where the text came from, e.g. "Architecture notes, 14 Oct". |
Response
| Field | Description |
|---|---|
nodes_created, nodes_updated | How many nodes were created and updated. |
node_keys | Every node key the ingest touched. |
created_node_keys, keys_updated | Which keys were new and which already existed. |
edges_created, hyperedges_created | How many relationships were written. |
Small ingests (up to 25 entities) are written before the call returns. Larger ones are queued: the result has status: "accepted", a job_id, and planned counts instead of written ones.
Clean up after every ingest
The HyperMemory plugins’ memory-writer agent does this clean-up for you.
Example
{
"context": "Architecture notes, 14 October 2026",
"text": "The checkout service uses Redis for session caching. The billing service depends on Stripe. The platform team builds the public API."
}