Skip to main content
The core services for building AI applications with Hexel Studio.

Knowledge Stores

A Knowledge Store is a searchable collection of documents for RAG (Retrieval-Augmented Generation).

Use Cases

  • FAQ and support documentation
  • Product information
  • Internal knowledge bases
  • Any content you want AI to reference
from hx import Client

client = Client()

results = client.knowledge.search(
    store_id="ks-your-store-id",
    query="How do I reset my password?",
    top_k=5,
    score_threshold=0.7
)

for result in results["results"]:
    print(f"Score: {result['score']}")
    print(f"Text: {result['text']}")
    print(f"Document: {result['document_id']}")

Search Parameters

ParameterTypeDescription
store_idstringKnowledge store ID
querystringSearch query (1-10000 chars)
top_kintResults to return (1-100, default 10)
score_thresholdfloatMin score filter (0.0-1.0)
metadata_filterdictFilter by document metadata

Memory Stores

A Memory Store provides persistent, user-scoped memory for AI agents.

Use Cases

  • Remember user preferences
  • Track conversation context across sessions
  • Store learned facts about users
  • Personalize AI responses

Add Memory

Extract and store memories from conversations:
client.memory.add(
    store_id="ms-your-store-id",
    user_id="user_123",
    messages=[
        {"role": "user", "content": "My name is Alex and I prefer dark mode."}
    ],
    metadata={
        "type": "preference",
        "confidence": "explicit"
    }
)

Search Memory

Find relevant memories:
memories = client.memory.search(
    store_id="ms-your-store-id",
    query="What are the user's preferences?",
    user_id="user_123",
    top_k=10
)

Memory Scoping

Memories can be scoped by:
ScopeDescription
user_idPer-user memories
agent_idPer-agent memories
run_idPer-session memories
# User-scoped
client.memory.add(store_id="ms-...", user_id="user_123", messages=[...])

# Agent-scoped
client.memory.add(store_id="ms-...", agent_id="agent_456", messages=[...])

# Session-scoped
client.memory.add(store_id="ms-...", run_id="run_789", messages=[...])

Memory Operations

OperationDescription
add()Extract memories from messages
search()Semantic search memories
list()List all memories
get()Get specific memory
update()Update memory content
delete()Delete specific memory
delete_all()Delete all matching memories
history()Get memory change history
reset()Delete ALL memories in store