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.py
PYTHON
from memoair import MemoAir, Message
 
client = MemoAir()
 
# Add a conversation
response = client.memories.add(
group_id="user:john",
messages=[
Message(
content="I'm a Python developer working on AI projects",
role_type="user",
role="John"
),
Message(
content="That's great! What frameworks do you use?",
role_type="assistant"
),
Message(
content="Mainly FastAPI for backends and PyTorch for ML",
role_type="user",
role="John"
),
],
link_to_org_graph=True, # Connect to organization knowledge
)
 
print(response.message)
# "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.py
PYTHON
from memoair import MemoAir, Message
 
client = MemoAir()
 
# Retrieve context for a new query
context = client.memories.get(
group_id="user:john",
messages=[
Message(content="What frameworks should I use?", role_type="user")
],
max_facts=10,
)
 
# Print retrieved facts
for fact in context.facts:
print(f"- {fact.fact}")
 
# Use in your LLM prompt
prompt = f"""You are a helpful assistant.
 
What you know about this user:
{context.to_prompt_context()}
 
User: What frameworks should I use?
"""
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

PYTHON
# GDPR: Delete all user data
result = client.memories.delete_group(group_id="user:john")
 
if result.success:
print("All user memories deleted")