Skip to main content

Strategies

  1. Semantic Search: Embedding similarity using vector embeddings.
  2. BM25 Keyword Search: Traditional keyword/lexical matching.
  3. Graph Traversal: Navigate relationships with BFS.
  4. Hybrid: Combines all three using RRF fusion (recommended).

Usage

from ryumem import Ryumem

ryumem = Ryumem(server_url="http://localhost:8000")

# Try different strategies
results = ryumem.search(
    query="AI researchers",
    user_id="user_123",
    session_id="session_abc",
    strategy="semantic"
)

results = ryumem.search(
    query="machine learning",
    user_id="user_123",
    session_id="session_abc",
    strategy="bm25"
)

results = ryumem.search(
    query="tech companies",
    user_id="user_123",
    session_id="session_abc",
    strategy="hybrid"
)

Search Parameters

ParameterTypeRequiredDescription
querystrYesThe search query
user_idstrYesUser identifier for multi-tenancy
session_idstrYesSession identifier
limitintNoMaximum results to return (default: 10)
strategystrNoSearch strategy: semantic, bm25, traversal, or hybrid
similarity_thresholdfloatNoMinimum similarity score for results
max_depthintNoGraph traversal depth (default: 2)
kindslistNoFilter by episode kinds: query or memory