LongMemEval-S Benchmark Results

August 13, 2026 · View on GitHub

Dataset: longmemeval_s_cleaned.json (500 questions, 6 question types) Metric: Session-level retrieval (Recall@k, NDCG@k)


Uteke Retrieval — Strategy Comparison

Vector (semantic only)

QuestionsR@5R@10R@50NDCG@5NDCG@10EmbeddingDate
50085.4%88.5%0.810EmbeddingGemma Q4 (ONNX local)2026-08-13

Hybrid (RRF: vector + FTS5 fusion)

QuestionsR@5R@10R@50NDCG@5NDCG@10EmbeddingDate
5098.0%100.0%100.0%0.9600.967EmbeddingGemma 768d (API)2026-08-13

Improvement (Hybrid vs Vector): +12.6pp R@5


50Q Hybrid — Per Question Type Breakdown

Question TypeCountR@5 HitsR@5
multi-session1515100%
single-session-user7686%
knowledge-update77100%
single-session-assistant77100%
single-session-preference77100%
temporal-reasoning77100%

1 miss at R@5 — single-session-user (QID: 5d3d2817). R@10 recovers to 100%.


Methodology

  • Vector strategy: Embedding similarity search via usearch index.
  • Hybrid strategy: Reciprocal Rank Fusion (RRF k=60) of vector search + SQLite FTS5 keyword search.
  • Embedding (vector 500Q): EmbeddingGemma 300M Q4 ONNX, 768d, local inference.
  • Embedding (hybrid 50Q): EmbeddingGemma 768d via API endpoint, same model dimensions.
  • Session-level: Retrieval evaluated at session granularity (not per-turn).
  • Throttled run: 2 CPU cores, nice 19 (production-safe benchmark).

Reproduce

# Vector (500Q, ONNX local)
python run_eval.py --data data/longmemeval_s_cleaned.json --output results_vector --strategy vector

# Hybrid (50Q sample)
python run_eval.py --data data/longmemeval_s_cleaned.json --output results_hybrid --limit 50 --strategy hybrid