Home/Documentation

Memories

The Memories resource handles episodic memory from conversations. Add conversations to extract facts automatically, and retrieve relevant context for new interactions.

POSTclient.memories.add()
HTTP:POST /v1/memories

Add a conversation to memory. Facts are extracted asynchronously and stored in the knowledge graph.

Parameters

group_idstrRequired

Unique identifier for the user or group. Convention: "user:123" or "org:acme".

messageslist[Message | dict]Required

List of messages to add to memory. Each message should have content, role_type, and optionally role.

entity_typeslist[EntityTypeConfig]Optional

Custom entity types to extract from the conversation.

link_to_org_graphboolOptionalDefault: True

Whether to link extracted entities to the organization graph.

link_to_ontologyboolOptionalDefault: False

Whether to link entities to the ontology graph.

map_to_ontologyboolOptionalDefault: False

Map extracted facts to ontology concepts.

ontology_domainstrOptional

Domain to use for ontology mapping (required if map_to_ontology=True).

ontology_confidence_thresholdfloatOptionalDefault: 0.7

Minimum confidence score for ontology mapping.

Returns

AddMessagesResponse with message and success fields.

Example

add_memory.pypython
1from memoair import MemoAir, Message
2
3client = MemoAir()
4
5# Add a conversation
6response = client.memories.add(
7 group_id="user:john",
8 messages=[
9 Message(
10 content="I'm a Python developer working on AI projects",
11 role_type="user",
12 role="John"
13 ),
14 Message(
15 content="That's great! What frameworks do you use?",
16 role_type="assistant"
17 ),
18 Message(
19 content="Mainly FastAPI for backends and PyTorch for ML",
20 role_type="user",
21 role="John"
22 ),
23 ],
24 link_to_org_graph=True, # Connect to organization knowledge
25)
26
27print(response.message)
28# "Messages added successfully. Facts will be extracted asynchronously."
POSTclient.memories.get()
HTTP:POST /v1/memories/retrieve

Retrieve relevant context from memory for the current conversation.

Parameters

group_idstrRequired

The group ID to retrieve memory for.

messageslist[Message | dict]Required

Current conversation context to find relevant memories.

max_factsintOptionalDefault: 10

Maximum number of facts to retrieve.

center_node_uuidstrOptional

UUID of a node to center the memory retrieval around.

Returns

GetMemoryResponse with facts: list[FactResult] and a to_prompt_context() helper method.

Example

get_memory.pypython
1from memoair import MemoAir, Message
2
3client = MemoAir()
4
5# Retrieve context for a new query
6context = client.memories.get(
7 group_id="user:john",
8 messages=[
9 Message(content="What frameworks should I use?", role_type="user")
10 ],
11 max_facts=10,
12)
13
14# Print retrieved facts
15for fact in context.facts:
16 print(f"- {fact.fact}")
17
18# Use in your LLM prompt
19prompt = f"""You are a helpful assistant.
20
21What you know about this user:
22{context.to_prompt_context()}
23
24User: What frameworks should I use?
25"""
DELETEclient.memories.delete_group()
HTTP:DELETE /v1/memories/group/{group_id}

Delete all memories for a group. Useful for GDPR compliance.

Parameters

group_idstrRequired

The group ID to delete all memories for.

Example

1# GDPR: Delete all user data
2result = client.memories.delete_group(group_id="user:john")
3
4if result.success:
5 print("All user memories deleted")