Skip to content

RAG Engine

Unified search across memory layers.

Strategies

Strategy Description Best For
fts Full-text search via FTS5 Short queries, keywords
mib Binary embedding similarity Semantic search
hybrid FTS5 + MIB with scoring General purpose
auto Adaptive (fts for short, hybrid for long) Default

Usage

from rag.engine import RAGEngine

engine = RAGEngine()

# Search
results = await engine.search(query="database architecture", user_id="u1", strategy="hybrid", limit=10)

# Ingest
await engine.ingest(content="PostgreSQL is used for production...", user_id="u1", page_id=1)

Scoring

Results scored by Scorer with weights:

  • Relevance: RRF score + optional binary score
  • Novelty: ITS-inspired surprise (rare = more novel)
  • Type boost: bonus for relevant wiki types